module TestFactCheck

using ConicIP
using MathProgBase

import Base:*,+,\

using FactCheck
using Base.Test

FactCheck.setstyle(:default)

global tol    = 1e-3
global optTol = 1e-7

facts("ConicIP module") do

  srand(0)

  P_box(t,x) = [sign(xi)*(abs(xi) <= t ? abs(xi) : t) for xi in x];
  optcond(x, P, ∇f) = norm(x - P(x - ∇f(x)))/length(x);

  function compare(s1, s2::Dict)

    # Code for comparing two statuses (returned by Intpoint)

    return (s1.status == s2[:status] &&
            abs(s1.prFeas - s2[:prFeas]) < tol &&
            abs(s1.Mu - s2[:Mu]) < tol &&
            abs(s1.muFeas - s2[:muFeas]) < tol &&
            abs(s1.duFeas - s2[:duFeas]) < tol)
            
  end

  context("Block Tests") do

    A = Block(3);
    A[1] = rand(4,4)
    A[2] = rand(3,3)
    A[3] = rand(2,2)

    B = Block(3);
    B[1] = rand(4,4)
    B[2] = rand(3,3)
    B[3] = rand(2,2)

    @fact size(A) --> (9,9)
    @fact size(A,1) --> 9
    @fact size(A,2) --> 9

    @fact size(B) --> (9,9)
    @fact size(B,1) --> 9
    @fact size(B,2) --> 9

    @fact full(A*B) --> roughly(full(A)*full(B));
    @fact full(A+B) --> roughly(full(A)+full(B));
    @fact full(A^2) --> roughly(full(A)^2);

    @fact full(A-B) --> roughly(full(A)-full(B));

    @fact A*eye(9) --> roughly(full(A))
    @fact A*ones(9) --> roughly(full(A)*ones(9))

    @fact A'*ones(9) --> roughly(full(A)'*ones(9))

    Ad = deepcopy(A)
    Ad[1] = zeros(4,4)

    @fact A[1] --> not(exactly(zeros(4,4)))
    @fact A*ones(9) --> roughly(full(A)*ones(9))

    @fact full(Diagonal(ones(9)) + A) --> roughly(full(Diagonal(ones(9))) + full(A))

  end


  context("Misc Tests") do

    A = rand(3,3)
    Z = ConicIP.VecCongurance(A)

    @fact Z*ones(6,1) --> roughly(full(Z)*ones(6,1))
    @fact full(Z'*Z) --> roughly(full(Z)'*full(Z))
    @fact inv(Z)*ones(6,1) --> roughly(full(Z)\ones(6,1))
    @fact size(Z,1) --> 6
    @fact sparse(Z) --> full(Z)

    # Test conic steplength - if steplength is infinity
    X = -eye(3); D = eye(3)
    @fact ConicIP.maxstep_sdc(ConicIP.vecm(X), ConicIP.vecm(D)) --> Inf

  end

  context("Box Constrained QP, H = I") do

    srand(0)

    n = 1000;
    H = 0.5*Id(n)
    c = (1:n)''

    A = [speye(n); -speye(n)];
    b = -ones(2*n,1); k = size(A,1);
    ∇f = x -> H*(x - c);

    function kktsolver_2x2(Q,A,G,cone_dims)

      function solve2x2gen(F, F⁻¹)
        v = inv(F[1]*F[1]).diag
        D = Diagonal(v[1:n] + v[n+1:end])
        invHD = inv(ConicIP.Diag(H.diag + D.diag));
        return (rhs, rhs2) -> (invHD*rhs, zeros(0,1));
      end
      return solve2x2gen
      
    end

    sol = conicIP(H,H*c,A,b,[("R",2*n)],
                   kktsolver = pivot(kktsolver_2x2),
                   optTol = optTol,
                   DTB = 0.01,
                   maxRefinementSteps = 3);

    ystar = sol.y

    @fact optcond(ystar, x -> P_box(1,x), ∇f) --> less_than(tol);

    # These tests are a bit paranoid, but they make sure the solver doesn't
    # get changed in subtle ways which affects convergence.

    s = Dict(:status => :Optimal,
             :prFeas => 0,
             :Mu => 0,
             :muFeas => 0,
             :duFeas => 0,
             :Iter => 7)

    @fact compare(sol,s) --> true

  end

  for kktsolver = (ConicIP.kktsolver_qr, 
                   ConicIP.kktsolver_sparse, 
                   pivot(ConicIP.kktsolver_2x2))

    context("Projection onto Sphere") do

      srand(0)

      # minimize (1/2)‖x - a‖² subject to ‖x|‖₂ < 1
      #
      # (transformed to)
      #
      # minimize (0.5)x'*H*x + c'*x subject to (0,x)' <= -e1

      n = 2;
      H = Id(n);
      a = ones(n,1);
      A = [spzeros(1,n); speye(n)];
      b = [-1;zeros(n,1)];

      sol = conicIP(H,H*a,A,b,[("Q",n+1)],
                    optTol = optTol,
                    DTB = 0.01,
                    kktsolver = kktsolver,
                    maxRefinementSteps = 3);

      ystar = sol.y

      @fact norm(ystar - a/norm(a)) --> less_than(tol);

      # These tests are a bit paranoid, but they make sure the solver doesn't
      # get changed in subtle ways which affects convergence.

      s = Dict(:status =>:Optimal,
               :prFeas => 0.0,
               :Mu => 2.866608128093695e-7,
               :muFeas => 1.621702501927476e-7,
               :duFeas => 3.2367552452111847e-16,
               :Iter => 5)

      @fact compare(sol, s) --> true

    end

    context("Combined") do
  
      srand(0)

      n = 10;
      H = Id(n);
      c = (1:n)'';

      A = [ speye(n)      ; # R
            spzeros(1,n)  ; # Q
            speye(n)     ]; #

      b = [zeros(n,1) ;
           -1.        ;
           zeros(n,1)];

      sol = conicIP(H,H*c,A,b,[("R",n),("Q",n+1)],
                    optTol = optTol,
                    DTB = 0.01,
                    kktsolver = kktsolver,                     
                    maxRefinementSteps = 3);

      ystar = sol.y

      y = [max(0,i) for i in c];
      y = y/norm(y);

      @fact norm(ystar - y) --> less_than(tol);

      # These tests are a bit paranoid, but they make sure the solver doesn't
      # get changed in subtle ways which affects convergence.

      s = Dict(:status => :Optimal,
               :prFeas => 7.764421906286858e-17,
               :Mu => 4.663886012743681e-7,
               :muFeas => 1.7037397157416066e-7,
               :duFeas => 2.77947804665922e-17,
               :Iter => 10)

      @fact compare(sol, s) --> true

    end

    context("Projection onto simplex (Linear Equality Test)") do

      srand(0)

      n = 10;
      H = eye(n)
      c = (1:n)''

      A = speye(n)
      b = zeros(n,1);
      k = size(A,1)

      G = ones(1,n)
      d = ones(1,1)

      sol = conicIP(H,H*c,
                    A,b,[("R",n)],
                    G,d,
                    kktsolver = kktsolver,                              
                    optTol = optTol);

      ystar = sol.y

      ysol  = zeros(n,1); ysol[n] = 1;

      @fact norm(ystar - ysol) --> less_than(tol)

      # These tests are a bit paranoid, but they make sure the solver doesn't
      # get changed in subtle ways which affects convergence.

      s = Dict(:status => :Optimal,
               :prFeas => 1.4506364239112378e-16,
               :Mu => 2.7686402945528533e-9,
               :muFeas => 2.897827518851058e-9,
               :duFeas => 2.70780035221441e-17,
               :Iter => 11)

      @fact compare(sol, s) --> true

    end


    context("Abandoned") do

      srand(0)

      n = 10;
      H = eye(n)
      c = (1:n)''

      A = speye(n)
      b = zeros(n,1);
      k = size(A,1)

      G = ones(1,n)
      d = ones(1,1)

      sol = conicIP(H,H*c,
                    A,b,[("R",n)],
                    G,d,
                    kktsolver = kktsolver,                              
                    optTol = optTol,
                    maxIters = 2);

      ystar = sol.y

      @fact sol.status --> :Abandoned

    end

    context("Projection onto simplex, dense H") do

      srand(0)

      n = 10;
      H = randn(n); H = H*H'
      c = (1:n)''

      A = speye(n)
      b = zeros(n,1);
      k = size(A,1)

      G = ones(1,n)
      d = ones(1,1)

      sol = ConicIP.conicIP(H,H*c,
                            A,b,[("R",n)],
                            G,d,
                            kktsolver = kktsolver,
                            optTol = optTol);

      ystar = sol.y

      if kktsolver == ConicIP.kktsolver_sparse
        s = Dict(:status => :Optimal,
                 :prFeas => 4.488229069360946e-16,
                 :Mu => 2.1436595135398927e-8,
                 :muFeas => 3.000777220457259e-9,
                 :duFeas => 6.279962324264275e-17,
                 :Iter => 8)
      else
        s = Dict(:status => :Optimal,
                 :prFeas => 4.488229069360946e-16,
                 :Mu => 2.1436595135398927e-8,
                 :muFeas => 3.000777220457259e-9,
                 :duFeas => 6.279962324264275e-17,
                 :Iter => 8)
      end
      @fact compare(sol, s) --> true

    end

    context("Projection onto simplex, dense H, Random Projection") do

      srand(0)

      n = 10;
      H = randn(n); H = H*H'
      c = (1:n)''

      A = speye(n)
      b = zeros(n,1);
      k = size(A,1)

      G = rand(6,n)
      d = zeros(6,1)

      ystar = conicIP(H,H*c,
                      A,b,[("R",n)],
                      G,d,
                      kktsolver = kktsolver,
                      optTol = optTol).y;

      ysol  = zeros(n,1); ysol[n] = 1;

    end

    context("Linear Constraints Comparison") do

      srand(0)

      n = 10;
      H = randn(n); H = H*H'
      c = (1:n)''

      A = speye(n)
      b = zeros(n,1);
      k = size(A,1)

      G = rand(6,n)
      d = zeros(6,1)

      ystar1 = conicIP(H,H*c,
                       A,b,[("R",n)],
                       G,d,
                       kktsolver = kktsolver,              
                       optTol = optTol).y;

      ystar2 = conicIP(H,H*c,
                       [A; G; -G],[b; d; -d],[("R",(n + 2*6))],
                       G,d,
                       optTol = optTol).y;

      @fact norm(ystar1 - ystar2) --> less_than(tol)

    end


    context("Preprocessor Test - Bad Primal Constraints") do
      
      srand(0)

      n = 10;
      H = randn(n); H = H*H'
      c = (1:n)''

      A = speye(n)
      b = zeros(n,1);
      k = size(A,1)

      G = rand(6,n)
      G = [G;G]
      d = zeros(6,1)
      d = [d;d]

      ystar1 = preprocess_conicIP(H,H*c,
                       A,b,[("R",n)],
                       G,d,
                       kktsolver = kktsolver,
                       verbose = true,              
                       optTol = optTol).y;

      ystar2 = preprocess_conicIP(H,H*c,
                       [A; G; -G],[b; d; -d],[("R",(n + 4*6))],
                       G,d,
                       verbose = true,
                       optTol = optTol).y;

      @fact norm(ystar1 - ystar2) --> less_than(tol)

    end    


    context("Preprocessor Test - Bad Dual Constraints") do
      
      srand(0)

      n = 10;
      Q = zeros(2*n,2*n);
      c = -ones(2*n,1)

      A = speye(n)
      A = [A A]
      d = zeros(n,1);

      sol = preprocess_conicIP(Q,c,
                       A,d,[("R",n)],
                       kktsolver = kktsolver,
                       verbose = true,              
                       optTol = optTol);

      @fact norm(sol.y) --> less_than(tol)

    end    


    context("Preprocessor Test - Infeasible") do

      srand(0)

      n = 10;
      H = randn(n); H = H*H'
      c = (1:n)''

      A = speye(n)
      b = zeros(n,1);
      k = size(A,1)

      G = zeros(1,n)
      G[1,1] = 1
      G = [G;G]
      d = [1;-1]''

      ystatus = preprocess_conicIP(H,H*c,
                       A,b,[("R",n)],
                       G,d,
                       kktsolver = kktsolver,              
                       optTol = optTol).status;

      @fact ystatus --> :Infeasible

    end    

    context("Infeasible") do

      srand(0)

      n = 10;
      H = randn(n); H = H*H'
      c = (1:n)''

      A = [speye(n);-speye(n)]
      b = [ones(n,1); ones(n,1)]
      k = size(A,1)

      sol= conicIP(H,H*c,
                   A,b,[("R",2*n)],
                   kktsolver = kktsolver,                             
                   optTol = optTol);

      @fact sol.status --> :Infeasible

    end

    context("Infeasible (With linear constraints)") do

      srand(0)

      n = 10;
      H = randn(n); H = H*H'
      c = (1:n)''

      A = speye(n)
      b = zeros(n,1)

      G = [1 zeros(1,9)]
      d = -ones(1,1)

      k = size(A,1)

      sol= conicIP(H,H*c,
                   A,b, [("R",n)],
                   G,d,
                   kktsolver = kktsolver,                             
                   optTol = optTol);

      @fact sol.status --> :Infeasible

    end  

    context("Unbounded") do

      srand(0)

      n = 10;
      H = zeros(n,n);
      c = (1:n)''

      A = speye(n)
      b = zeros(n,1)

      sol = conicIP(H,c,
                    A,b,[("R",n)],
                    kktsolver = kktsolver,                              
                    optTol = optTol)

      @fact sol.status --> :Unbounded

    end

    context("Bad Input") do

      srand(0)

      n = 10;
      H = zeros(n,n);
      c = (1:n)''

      A = speye(n+2)
      b = zeros(n,1)

      try
        sol = conicIP(H,c,
                      A,b,[("R",n)],
                      kktsolver = kktsolver,                                
                      optTol = optTol)
      catch
        @fact 1 --> 1
      end

    end

  end

  context("SDP - Projection onto PSD Matrix") do

    srand(0)

    # Implement This

    n = 21;
    H = eye(n,n);
    c = ConicIP.vecm(diagm([1;1;1;-1;-1;-1]))''

    A = speye(21)
    b = zeros(21,1)

    sol = conicIP(H,c,
                  A,b,[("S",n)],
                  optTol = optTol)


    s = Dict(:status => :Optimal,
             :prFeas => 4.2341217602756234e-16,
             :Mu => 3.4583513329836624e-10,
             :muFeas => 1.48267911727847e-9,
             :duFeas => 4.2341217602756234e-16,
             :Iter => 6)

    @fact norm(ConicIP.mat(sol.y) - diagm([1;1;1;0;0;0]), Inf) --> less_than(tol)
    @fact compare(sol, s) --> true
            
  end

  context("MathProgBase SOC Cone") do
    
    srand(0)

    for to_preprocess = [true, false]
      m = MathProgBase.ConicModel(ConicIPSolver(verbose = true, 
                                                optTol = 1e-6,
                                                preprocess = to_preprocess))
      MathProgBase.loadproblem!(m,
      [ 1.0,  1.0,  1.0,  1.0],
      [ 1.0   0.0   0.0   0.0;
        0.0   1.0   0.0   0.0;
        0.0   0.0   1.0   0.0],
      [1.0, 0.0, 0.0],
      [(:SOC,1:3)],
      [(:NonNeg,1:4)])
      MathProgBase.optimize!(m)
      MathProgBase.status(m)
      show(m)

      @fact ConicIP.numvar(m) --> 4
      @fact ConicIP.numconstr(m) --> 7

      @fact norm(m.primal_sol) --> less_than(tol)

      @fact ConicIP.supportedcones(ConicIPSolver()) --> [:Free, :Zero, :NonNeg, :NonPos, :SOC, :SDP]

      #ConicIP.LinearQuadraticModel(ConicIPSolver())
    end

  end

  context("Miles's Counterexamples") do

    for kktsolver = (ConicIP.kktsolver_qr, 
                     ConicIP.kktsolver_sparse, 
                     pivot(ConicIP.kktsolver_2x2))

      # These two tests have been courteously donated by Miles Lubin.

      c = [101.694104,375.559556,242.996185,274.45252,168.179886,271.828411,286.858066,427.461022,120.942543,244.334243,299.824754,210.180312,388.892135,422.59942,286.344197,256.977626,113.64941,200.502313,329.434173,305.032801,266.014052,227.507071,348.05538,256.668778,141.252367,220.980567,300.996731,304.402129,182.737715,118.292891,328.086548,275.544938,249.30281,666.250009,129.036119,257.180466,302.986897,565.452727,213.580365,712.799593,282.103532,503.020468,112.07971,114.749608,376.581031,535.628369,61.305196,506.511515,199.884708,54.876085,318.249896,261.212247,333.560946,287.95327,308.196084,9.2809114,146.600278,378.517476,54.629471,82.980989,243.86939,379.31011,69.320146,395.511019,436.180797,729.454703,299.194726,439.267364,259.43267,504.245329,367.903981,775.329267,143.302061,286.234398,24.004148,76.187937,175.307064,275.846331,32.137771,294.815597,323.149362,499.890448,249.494355,336.089448,189.470927,331.170643,292.570164,531.886787,386.379613,352.257299,589.301628,594.297104,379.093615,145.568442,626.072789,430.497877,557.991213,236.198868,805.161015,665.760784,859.597395,753.979842,774.050309,142.825454,307.532175,459.130143,393.498357,456.637248,129.754087,130.016953,448.089905,522.689053,43.57512,211.607162,161.405278,119.18735,224.403129,273.97111,160.99304,228.486934,192.385344,231.262208,199.435317,125.564074,319.862961,361.83003,166.077648,210.593449,187.457547,329.646138,488.71974,471.981814,351.436831,281.387151,524.904536,417.329145,212.270839,485.495098,145.743575,29.586487,411.558181,565.978851,102.753698,494.327093,350.208261,668.944242,87.504843,221.091196,377.791173,613.626927,124.776586,691.289038,199.209896,78.050657,312.308472,248.797188,343.948992,309.810854,298.61035,35.008053,316.491169,48.541052,520.221192,446.514846,500.223667,397.2998,514.450894,73.805936,143.199334,316.144318,100.44412,168.262323,85.548471,220.939376,142.458516,342.147264,326.864575,724.934847,121.202975,295.308254,301.6135,589.794213,218.038103,769.479403,272.330601,381.237748,203.035914,139.696875,390.600293,482.390513,155.941482,365.868941,25.902741,287.403802,185.875449,175.639571,214.58272,290.154457,205.296512,320.40107,105.364432,337.191117,86.292894,123.417337,182.49599,307.635014,118.359783,361.664938,264.544112,395.999945,579.521668,577.016929,370.995694,243.439633,627.249365,500.283669,446.712124,803.928026,255.240392,423.549445,299.179936,593.483526,335.994745,851.43727,194.095381,408.241084,312.644745,364.848218,97.949711,181.07704,365.935154,470.54359,227.092721,355.334783,487.768455,492.111064,298.829867,195.279168,531.198498,443.749908,414.433159,152.175076,97.803245,498.705496,177.439899,112.258661,290.112578,121.053035,82.936613,355.905279,141.777149,94.909108,288.617137,119.022408,81.06773,337.332309,133.582027,89.157686,360.338888,141.06308,93.611695,424.591178,161.976259,106.110175,85959.7395,85959.7395,85959.7395,85959.7395,85959.7395,85959.7395,85959.7395,85959.7395,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]
      b = [0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]
      con_cones = [(:Zero,[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]),(:NonPos,[40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71]),(:Zero,[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143]),(:Zero,[144,145,146]),(:Zero,[147,148,149]),(:Zero,[150,151,152]),(:Zero,[153,154,155]),(:Zero,[156,157,158]),(:Zero,[159,160,161]),(:Zero,[162,163,164]),(:Zero,[165,166,167]),(:Zero,[168,169,170]),(:Zero,[171,172,173]),(:Zero,[174,175,176]),(:Zero,[177,178,179]),(:Zero,[180,181,182]),(:Zero,[183,184,185]),(:Zero,[186,187,188]),(:Zero,[189,190,191]),(:Zero,[192,193,194]),(:Zero,[195,196,197]),(:Zero,[198,199,200]),(:Zero,[201,202,203]),(:Zero,[204,205,206]),(:Zero,[207,208,209]),(:Zero,[210,211,212]),(:Zero,[213,214,215]),(:NonPos,[216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479]),(:SOC,[480,481,482]),(:SOC,[483,484,485]),(:SOC,[486,487,488]),(:SOC,[489,490,491]),(:SOC,[492,493,494]),(:SOC,[495,496,497]),(:SOC,[498,499,500]),(:SOC,[501,502,503]),(:SOC,[504,505,506]),(:SOC,[507,508,509]),(:SOC,[510,511,512]),(:SOC,[513,514,515]),(:SOC,[516,517,518]),(:SOC,[519,520,521]),(:SOC,[522,523,524]),(:SOC,[525,526,527]),(:SOC,[528,529,530]),(:SOC,[531,532,533]),(:SOC,[534,535,536]),(:SOC,[537,538,539]),(:SOC,[540,541,542]),(:SOC,[543,544,545]),(:SOC,[546,547,548]),(:SOC,[549,550,551])]
      var_cones = [(:NonNeg,[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296]),(:NonNeg,[297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368]),(:Free,[369,370,371]),(:Free,[372,373,374]),(:Free,[375,376,377]),(:Free,[378,379,380]),(:Free,[381,382,383]),(:Free,[384,385,386]),(:Free,[387,388,389]),(:Free,[390,391,392]),(:Free,[393,394,395]),(:Free,[396,397,398]),(:Free,[399,400,401]),(:Free,[402,403,404]),(:Free,[405,406,407]),(:Free,[408,409,410]),(:Free,[411,412,413]),(:Free,[414,415,416]),(:Free,[417,418,419]),(:Free,[420,421,422]),(:Free,[423,424,425]),(:Free,[426,427,428]),(:Free,[429,430,431]),(:Free,[432,433,434]),(:Free,[435,436,437]),(:Free,[438,439,440])]
      I = [2,10,216,3,10,217,4,10,218,5,10,219,6,10,220,7,10,221,8,10,222,9,10,223,2,11,224,3,11,225,4,11,226,5,11,227,6,11,228,7,11,229,8,11,230,9,11,231,2,12,232,3,12,233,4,12,234,5,12,235,6,12,236,7,12,237,8,12,238,9,12,239,2,13,240,3,13,241,4,13,242,5,13,243,6,13,244,7,13,245,8,13,246,9,13,247,2,14,248,3,14,249,4,14,250,5,14,251,6,14,252,7,14,253,8,14,254,9,14,255,2,15,256,3,15,257,4,15,258,5,15,259,6,15,260,7,15,261,8,15,262,9,15,263,2,16,264,3,16,265,4,16,266,5,16,267,6,16,268,7,16,269,8,16,270,9,16,271,2,17,272,3,17,273,4,17,274,5,17,275,6,17,276,7,17,277,8,17,278,9,17,279,2,18,280,3,18,281,4,18,282,5,18,283,6,18,284,7,18,285,8,18,286,9,18,287,2,19,288,3,19,289,4,19,290,5,19,291,6,19,292,7,19,293,8,19,294,9,19,295,2,20,296,3,20,297,4,20,298,5,20,299,6,20,300,7,20,301,8,20,302,9,20,303,2,21,304,3,21,305,4,21,306,5,21,307,6,21,308,7,21,309,8,21,310,9,21,311,2,22,312,3,22,313,4,22,314,5,22,315,6,22,316,7,22,317,8,22,318,9,22,319,2,23,320,3,23,321,4,23,322,5,23,323,6,23,324,7,23,325,8,23,326,9,23,327,2,24,328,3,24,329,4,24,330,5,24,331,6,24,332,7,24,333,8,24,334,9,24,335,2,25,336,3,25,337,4,25,338,5,25,339,6,25,340,7,25,341,8,25,342,9,25,343,2,26,344,3,26,345,4,26,346,5,26,347,6,26,348,7,26,349,8,26,350,9,26,351,2,27,352,3,27,353,4,27,354,5,27,355,6,27,356,7,27,357,8,27,358,9,27,359,2,28,360,3,28,361,4,28,362,5,28,363,6,28,364,7,28,365,8,28,366,9,28,367,2,29,368,3,29,369,4,29,370,5,29,371,6,29,372,7,29,373,8,29,374,9,29,375,2,30,376,3,30,377,4,30,378,5,30,379,6,30,380,7,30,381,8,30,382,9,30,383,2,31,384,3,31,385,4,31,386,5,31,387,6,31,388,7,31,389,8,31,390,9,31,391,2,32,392,3,32,393,4,32,394,5,32,395,6,32,396,7,32,397,8,32,398,9,32,399,2,33,400,3,33,401,4,33,402,5,33,403,6,33,404,7,33,405,8,33,406,9,33,407,2,34,408,3,34,409,4,34,410,5,34,411,6,34,412,7,34,413,8,34,414,9,34,415,2,35,416,3,35,417,4,35,418,5,35,419,6,35,420,7,35,421,8,35,422,9,35,423,2,36,424,3,36,425,4,36,426,5,36,427,6,36,428,7,36,429,8,36,430,9,36,431,2,37,432,3,37,433,4,37,434,5,37,435,6,37,436,7,37,437,8,37,438,9,37,439,2,38,440,3,38,441,4,38,442,5,38,443,6,38,444,7,38,445,8,38,446,9,38,447,2,39,448,3,39,449,4,39,450,5,39,451,6,39,452,7,39,453,8,39,454,9,39,455,40,48,456,40,49,457,40,50,458,41,51,459,41,52,460,41,53,461,42,54,462,42,55,463,42,56,464,43,57,465,43,58,466,43,59,467,44,60,468,44,61,469,44,62,470,45,63,471,45,64,472,45,65,473,46,66,474,46,67,475,46,68,476,47,69,477,47,70,478,47,71,479,72,73,74,96,97,98,120,121,122,75,76,77,99,100,101,123,124,125,78,79,80,102,103,104,126,127,128,81,82,83,105,106,107,129,130,131,84,85,86,108,109,110,132,133,134,87,88,89,111,112,113,135,136,137,90,91,92,114,115,116,138,139,140,93,94,95,117,118,119,141,142,143,2,48,72,2,49,73,2,50,74,3,51,75,3,52,76,3,53,77,4,54,78,4,55,79,4,56,80,5,57,81,5,58,82,5,59,83,6,60,84,6,61,85,6,62,86,7,63,87,7,64,88,7,65,89,8,66,90,8,67,91,8,68,92,9,69,93,9,70,94,9,71,95,72,145,73,148,74,151,75,154,76,157,77,160,78,163,79,166,80,169,81,172,82,175,83,178,84,181,85,184,86,187,87,190,88,193,89,196,90,199,91,202,92,205,93,208,94,211,95,214,96,144,97,147,98,150,99,153,100,156,101,159,102,162,103,165,104,168,105,171,106,174,107,177,108,180,109,183,110,186,111,189,112,192,113,195,114,198,115,201,116,204,117,207,118,210,119,213,120,146,121,149,122,152,123,155,124,158,125,161,126,164,127,167,128,170,129,173,130,176,131,179,132,182,133,185,134,188,135,191,136,194,137,197,138,200,139,203,140,206,141,209,142,212,143,215,144,480,481,145,480,481,146,482,147,483,484,148,483,484,149,485,150,486,487,151,486,487,152,488,153,489,490,154,489,490,155,491,156,492,493,157,492,493,158,494,159,495,496,160,495,496,161,497,162,498,499,163,498,499,164,500,165,501,502,166,501,502,167,503,168,504,505,169,504,505,170,506,171,507,508,172,507,508,173,509,174,510,511,175,510,511,176,512,177,513,514,178,513,514,179,515,180,516,517,181,516,517,182,518,183,519,520,184,519,520,185,521,186,522,523,187,522,523,188,524,189,525,526,190,525,526,191,527,192,528,529,193,528,529,194,530,195,531,532,196,531,532,197,533,198,534,535,199,534,535,200,536,201,537,538,202,537,538,203,539,204,540,541,205,540,541,206,542,207,543,544,208,543,544,209,545,210,546,547,211,546,547,212,548,213,549,550,214,549,550,215,551]
      J = [1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,9,9,10,10,10,11,11,11,12,12,12,13,13,13,14,14,14,15,15,15,16,16,16,17,17,17,18,18,18,19,19,19,20,20,20,21,21,21,22,22,22,23,23,23,24,24,24,25,25,25,26,26,26,27,27,27,28,28,28,29,29,29,30,30,30,31,31,31,32,32,32,33,33,33,34,34,34,35,35,35,36,36,36,37,37,37,38,38,38,39,39,39,40,40,40,41,41,41,42,42,42,43,43,43,44,44,44,45,45,45,46,46,46,47,47,47,48,48,48,49,49,49,50,50,50,51,51,51,52,52,52,53,53,53,54,54,54,55,55,55,56,56,56,57,57,57,58,58,58,59,59,59,60,60,60,61,61,61,62,62,62,63,63,63,64,64,64,65,65,65,66,66,66,67,67,67,68,68,68,69,69,69,70,70,70,71,71,71,72,72,72,73,73,73,74,74,74,75,75,75,76,76,76,77,77,77,78,78,78,79,79,79,80,80,80,81,81,81,82,82,82,83,83,83,84,84,84,85,85,85,86,86,86,87,87,87,88,88,88,89,89,89,90,90,90,91,91,91,92,92,92,93,93,93,94,94,94,95,95,95,96,96,96,97,97,97,98,98,98,99,99,99,100,100,100,101,101,101,102,102,102,103,103,103,104,104,104,105,105,105,106,106,106,107,107,107,108,108,108,109,109,109,110,110,110,111,111,111,112,112,112,113,113,113,114,114,114,115,115,115,116,116,116,117,117,117,118,118,118,119,119,119,120,120,120,121,121,121,122,122,122,123,123,123,124,124,124,125,125,125,126,126,126,127,127,127,128,128,128,129,129,129,130,130,130,131,131,131,132,132,132,133,133,133,134,134,134,135,135,135,136,136,136,137,137,137,138,138,138,139,139,139,140,140,140,141,141,141,142,142,142,143,143,143,144,144,144,145,145,145,146,146,146,147,147,147,148,148,148,149,149,149,150,150,150,151,151,151,152,152,152,153,153,153,154,154,154,155,155,155,156,156,156,157,157,157,158,158,158,159,159,159,160,160,160,161,161,161,162,162,162,163,163,163,164,164,164,165,165,165,166,166,166,167,167,167,168,168,168,169,169,169,170,170,170,171,171,171,172,172,172,173,173,173,174,174,174,175,175,175,176,176,176,177,177,177,178,178,178,179,179,179,180,180,180,181,181,181,182,182,182,183,183,183,184,184,184,185,185,185,186,186,186,187,187,187,188,188,188,189,189,189,190,190,190,191,191,191,192,192,192,193,193,193,194,194,194,195,195,195,196,196,196,197,197,197,198,198,198,199,199,199,200,200,200,201,201,201,202,202,202,203,203,203,204,204,204,205,205,205,206,206,206,207,207,207,208,208,208,209,209,209,210,210,210,211,211,211,212,212,212,213,213,213,214,214,214,215,215,215,216,216,216,217,217,217,218,218,218,219,219,219,220,220,220,221,221,221,222,222,222,223,223,223,224,224,224,225,225,225,226,226,226,227,227,227,228,228,228,229,229,229,230,230,230,231,231,231,232,232,232,233,233,233,234,234,234,235,235,235,236,236,236,237,237,237,238,238,238,239,239,239,240,240,240,241,241,241,242,242,242,243,243,243,244,244,244,245,245,245,246,246,246,247,247,247,248,248,248,249,249,249,250,250,250,251,251,251,252,252,252,253,253,253,254,254,254,255,255,255,256,256,256,257,257,257,258,258,258,259,259,259,260,260,260,261,261,261,262,262,262,263,263,263,264,264,264,265,265,265,265,265,265,265,265,265,266,266,266,266,266,266,266,266,266,267,267,267,267,267,267,267,267,267,268,268,268,268,268,268,268,268,268,269,269,269,269,269,269,269,269,269,270,270,270,270,270,270,270,270,270,271,271,271,271,271,271,271,271,271,272,272,272,272,272,272,272,272,272,273,273,273,274,274,274,275,275,275,276,276,276,277,277,277,278,278,278,279,279,279,280,280,280,281,281,281,282,282,282,283,283,283,284,284,284,285,285,285,286,286,286,287,287,287,288,288,288,289,289,289,290,290,290,291,291,291,292,292,292,293,293,293,294,294,294,295,295,295,296,296,296,297,297,298,298,299,299,300,300,301,301,302,302,303,303,304,304,305,305,306,306,307,307,308,308,309,309,310,310,311,311,312,312,313,313,314,314,315,315,316,316,317,317,318,318,319,319,320,320,321,321,322,322,323,323,324,324,325,325,326,326,327,327,328,328,329,329,330,330,331,331,332,332,333,333,334,334,335,335,336,336,337,337,338,338,339,339,340,340,341,341,342,342,343,343,344,344,345,345,346,346,347,347,348,348,349,349,350,350,351,351,352,352,353,353,354,354,355,355,356,356,357,357,358,358,359,359,360,360,361,361,362,362,363,363,364,364,365,365,366,366,367,367,368,368,369,369,369,370,370,370,371,371,372,372,372,373,373,373,374,374,375,375,375,376,376,376,377,377,378,378,378,379,379,379,380,380,381,381,381,382,382,382,383,383,384,384,384,385,385,385,386,386,387,387,387,388,388,388,389,389,390,390,390,391,391,391,392,392,393,393,393,394,394,394,395,395,396,396,396,397,397,397,398,398,399,399,399,400,400,400,401,401,402,402,402,403,403,403,404,404,405,405,405,406,406,406,407,407,408,408,408,409,409,409,410,410,411,411,411,412,412,412,413,413,414,414,414,415,415,415,416,416,417,417,417,418,418,418,419,419,420,420,420,421,421,421,422,422,423,423,423,424,424,424,425,425,426,426,426,427,427,427,428,428,429,429,429,430,430,430,431,431,432,432,432,433,433,433,434,434,435,435,435,436,436,436,437,437,438,438,438,439,439,439,440,440]
      V = [-1.0229871,-1.0,-1.0,-1.0229871,-1.0,-1.0,-1.0229871,-1.0,-1.0,-1.0229871,-1.0,-1.0,-1.0229871,-1.0,-1.0,-1.0229871,-1.0,-1.0,-1.0229871,-1.0,-1.0,-1.0229871,-1.0,-1.0,-1.0164864,-1.0,-1.0,-1.0164864,-1.0,-1.0,-1.0164864,-1.0,-1.0,-1.0164864,-1.0,-1.0,-1.0164864,-1.0,-1.0,-1.0164864,-1.0,-1.0,-1.0164864,-1.0,-1.0,-1.0164864,-1.0,-1.0,-0.91558112,-1.0,-1.0,-0.91558112,-1.0,-1.0,-0.91558112,-1.0,-1.0,-0.91558112,-1.0,-1.0,-0.91558112,-1.0,-1.0,-0.91558112,-1.0,-1.0,-0.91558112,-1.0,-1.0,-0.91558112,-1.0,-1.0,-0.76816226,-1.0,-1.0,-0.76816226,-1.0,-1.0,-0.76816226,-1.0,-1.0,-0.76816226,-1.0,-1.0,-0.76816226,-1.0,-1.0,-0.76816226,-1.0,-1.0,-0.76816226,-1.0,-1.0,-0.76816226,-1.0,-1.0,-1.3963879,-1.0,-1.0,-1.3963879,-1.0,-1.0,-1.3963879,-1.0,-1.0,-1.3963879,-1.0,-1.0,-1.3963879,-1.0,-1.0,-1.3963879,-1.0,-1.0,-1.3963879,-1.0,-1.0,-1.3963879,-1.0,-1.0,-0.87023479,-1.0,-1.0,-0.87023479,-1.0,-1.0,-0.87023479,-1.0,-1.0,-0.87023479,-1.0,-1.0,-0.87023479,-1.0,-1.0,-0.87023479,-1.0,-1.0,-0.87023479,-1.0,-1.0,-0.87023479,-1.0,-1.0,-0.57060242,-1.0,-1.0,-0.57060242,-1.0,-1.0,-0.57060242,-1.0,-1.0,-0.57060242,-1.0,-1.0,-0.57060242,-1.0,-1.0,-0.57060242,-1.0,-1.0,-0.57060242,-1.0,-1.0,-0.57060242,-1.0,-1.0,-0.82196299,-1.0,-1.0,-0.82196299,-1.0,-1.0,-0.82196299,-1.0,-1.0,-0.82196299,-1.0,-1.0,-0.82196299,-1.0,-1.0,-0.82196299,-1.0,-1.0,-0.82196299,-1.0,-1.0,-0.82196299,-1.0,-1.0,-1.0072971,-1.0,-1.0,-1.0072971,-1.0,-1.0,-1.0072971,-1.0,-1.0,-1.0072971,-1.0,-1.0,-1.0072971,-1.0,-1.0,-1.0072971,-1.0,-1.0,-1.0072971,-1.0,-1.0,-1.0072971,-1.0,-1.0,-0.50753799,-1.0,-1.0,-0.50753799,-1.0,-1.0,-0.50753799,-1.0,-1.0,-0.50753799,-1.0,-1.0,-0.50753799,-1.0,-1.0,-0.50753799,-1.0,-1.0,-0.50753799,-1.0,-1.0,-0.50753799,-1.0,-1.0,-0.62650751,-1.0,-1.0,-0.62650751,-1.0,-1.0,-0.62650751,-1.0,-1.0,-0.62650751,-1.0,-1.0,-0.62650751,-1.0,-1.0,-0.62650751,-1.0,-1.0,-0.62650751,-1.0,-1.0,-0.62650751,-1.0,-1.0,-0.97366002,-1.0,-1.0,-0.97366002,-1.0,-1.0,-0.97366002,-1.0,-1.0,-0.97366002,-1.0,-1.0,-0.97366002,-1.0,-1.0,-0.97366002,-1.0,-1.0,-0.97366002,-1.0,-1.0,-0.97366002,-1.0,-1.0,-1.2613593,-1.0,-1.0,-1.2613593,-1.0,-1.0,-1.2613593,-1.0,-1.0,-1.2613593,-1.0,-1.0,-1.2613593,-1.0,-1.0,-1.2613593,-1.0,-1.0,-1.2613593,-1.0,-1.0,-1.2613593,-1.0,-1.0,-0.88094215,-1.0,-1.0,-0.88094215,-1.0,-1.0,-0.88094215,-1.0,-1.0,-0.88094215,-1.0,-1.0,-0.88094215,-1.0,-1.0,-0.88094215,-1.0,-1.0,-0.88094215,-1.0,-1.0,-0.88094215,-1.0,-1.0,-0.70851352,-1.0,-1.0,-0.70851352,-1.0,-1.0,-0.70851352,-1.0,-1.0,-0.70851352,-1.0,-1.0,-0.70851352,-1.0,-1.0,-0.70851352,-1.0,-1.0,-0.70851352,-1.0,-1.0,-0.70851352,-1.0,-1.0,-0.52970232,-1.0,-1.0,-0.52970232,-1.0,-1.0,-0.52970232,-1.0,-1.0,-0.52970232,-1.0,-1.0,-0.52970232,-1.0,-1.0,-0.52970232,-1.0,-1.0,-0.52970232,-1.0,-1.0,-0.52970232,-1.0,-1.0,-1.3338019,-1.0,-1.0,-1.3338019,-1.0,-1.0,-1.3338019,-1.0,-1.0,-1.3338019,-1.0,-1.0,-1.3338019,-1.0,-1.0,-1.3338019,-1.0,-1.0,-1.3338019,-1.0,-1.0,-1.3338019,-1.0,-1.0,-1.1219368,-1.0,-1.0,-1.1219368,-1.0,-1.0,-1.1219368,-1.0,-1.0,-1.1219368,-1.0,-1.0,-1.1219368,-1.0,-1.0,-1.1219368,-1.0,-1.0,-1.1219368,-1.0,-1.0,-1.1219368,-1.0,-1.0,-1.1048284,-1.0,-1.0,-1.1048284,-1.0,-1.0,-1.1048284,-1.0,-1.0,-1.1048284,-1.0,-1.0,-1.1048284,-1.0,-1.0,-1.1048284,-1.0,-1.0,-1.1048284,-1.0,-1.0,-1.1048284,-1.0,-1.0,-0.58675066,-1.0,-1.0,-0.58675066,-1.0,-1.0,-0.58675066,-1.0,-1.0,-0.58675066,-1.0,-1.0,-0.58675066,-1.0,-1.0,-0.58675066,-1.0,-1.0,-0.58675066,-1.0,-1.0,-0.58675066,-1.0,-1.0,-0.89673547,-1.0,-1.0,-0.89673547,-1.0,-1.0,-0.89673547,-1.0,-1.0,-0.89673547,-1.0,-1.0,-0.89673547,-1.0,-1.0,-0.89673547,-1.0,-1.0,-0.89673547,-1.0,-1.0,-0.89673547,-1.0,-1.0,-0.59081349,-1.0,-1.0,-0.59081349,-1.0,-1.0,-0.59081349,-1.0,-1.0,-0.59081349,-1.0,-1.0,-0.59081349,-1.0,-1.0,-0.59081349,-1.0,-1.0,-0.59081349,-1.0,-1.0,-0.59081349,-1.0,-1.0,-1.3321776,-1.0,-1.0,-1.3321776,-1.0,-1.0,-1.3321776,-1.0,-1.0,-1.3321776,-1.0,-1.0,-1.3321776,-1.0,-1.0,-1.3321776,-1.0,-1.0,-1.3321776,-1.0,-1.0,-1.3321776,-1.0,-1.0,-0.64882503,-1.0,-1.0,-0.64882503,-1.0,-1.0,-0.64882503,-1.0,-1.0,-0.64882503,-1.0,-1.0,-0.64882503,-1.0,-1.0,-0.64882503,-1.0,-1.0,-0.64882503,-1.0,-1.0,-0.64882503,-1.0,-1.0,-0.87483357,-1.0,-1.0,-0.87483357,-1.0,-1.0,-0.87483357,-1.0,-1.0,-0.87483357,-1.0,-1.0,-0.87483357,-1.0,-1.0,-0.87483357,-1.0,-1.0,-0.87483357,-1.0,-1.0,-0.87483357,-1.0,-1.0,-0.78080365,-1.0,-1.0,-0.78080365,-1.0,-1.0,-0.78080365,-1.0,-1.0,-0.78080365,-1.0,-1.0,-0.78080365,-1.0,-1.0,-0.78080365,-1.0,-1.0,-0.78080365,-1.0,-1.0,-0.78080365,-1.0,-1.0,-1.4643592,-1.0,-1.0,-1.4643592,-1.0,-1.0,-1.4643592,-1.0,-1.0,-1.4643592,-1.0,-1.0,-1.4643592,-1.0,-1.0,-1.4643592,-1.0,-1.0,-1.4643592,-1.0,-1.0,-1.4643592,-1.0,-1.0,-1.2021589,-1.0,-1.0,-1.2021589,-1.0,-1.0,-1.2021589,-1.0,-1.0,-1.2021589,-1.0,-1.0,-1.2021589,-1.0,-1.0,-1.2021589,-1.0,-1.0,-1.2021589,-1.0,-1.0,-1.2021589,-1.0,-1.0,-0.98893781,-1.0,-1.0,-0.98893781,-1.0,-1.0,-0.98893781,-1.0,-1.0,-0.98893781,-1.0,-1.0,-0.98893781,-1.0,-1.0,-0.98893781,-1.0,-1.0,-0.98893781,-1.0,-1.0,-0.98893781,-1.0,-1.0,-1.2466856,-1.0,-1.0,-1.2466856,-1.0,-1.0,-1.2466856,-1.0,-1.0,-1.2466856,-1.0,-1.0,-1.2466856,-1.0,-1.0,-1.2466856,-1.0,-1.0,-1.2466856,-1.0,-1.0,-1.2466856,-1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,2.5645403,-1.0,-1.0,5.1290805,-1.0,-1.0,7.6936208,-1.0,-1.0,2.8077152,-1.0,-1.0,5.6154304,-1.0,-1.0,8.4231456,-1.0,-1.0,2.6344109,-1.0,-1.0,5.2688219,-1.0,-1.0,7.9032328,-1.0,-1.0,2.8121524,-1.0,-1.0,5.6243047,-1.0,-1.0,8.4364571,-1.0,-1.0,2.5300634,-1.0,-1.0,5.0601268,-1.0,-1.0,7.5901902,-1.0,-1.0,2.6182863,-1.0,-1.0,5.2365725,-1.0,-1.0,7.8548588,-1.0,-1.0,2.7021321,-1.0,-1.0,5.4042642,-1.0,-1.0,8.1063963,-1.0,-1.0,2.9464602,-1.0,-1.0,5.8929205,-1.0,-1.0,8.8393807,-1.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-2.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951]

      A = sparse(I,J,V,length(b),length(c))
      m = MathProgBase.ConicModel(ConicIPSolver(verbose = true, kktsolver = kktsolver))
      MathProgBase.loadproblem!(m, c, A, b, con_cones, var_cones)
      MathProgBase.optimize!(m)
      @fact MathProgBase.status(m) --> :Optimal

      c = [-0.0314514366364,-0.140066530531,-0.101481112582,-0.0896788789081,-0.0623322546876,-0.0715007016099,-0.0414012394119,-0.0427797721554,-0.123926899062,-0.0113752176021,-0.0394797478448,-0.0442318588416,-0.0472748306646,-0.0629738483482,-0.0309081568087,-0.148705689344,-0.0377827405953,-0.0215013837744,-0.0132097716294,-0.0374431650663,-0.0654803135324,-0.127416862275,-0.0631330997176,-0.0878126089614,-0.0412963652708,-0.0191748751409,-0.0206637964956,-0.0793031051092,-0.102128665084,-0.0602494739115,-0.0646745186267,-0.188050706821,-0.00699576056141,-0.0352458247454,-0.0597094198611,-0.0572050688987,-0.0525709156995,-0.0184249616408,-0.192324736986,-0.158041803894,-0.0380825412642,-0.153319254475,-0.0479675113811,-0.0202574279786,-0.0664901393557,-0.0449016594387,-0.0210495138202,-0.045759308444,-0.0284224966367,-0.0362094771936,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]
      b = [0.0,0.0,-1.0,0.0,-1.0,0.0,0.0,0.0,-1.0,0.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-1.0,-1.0,0.0,-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0]
      con_cones = [(:NonPos,[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50]),(:Zero,[51]),(:Zero,[52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102]),(:SOC,[103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153]),(:NonPos,[154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203])]
      var_cones = [(:NonNeg,[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50]),(:Free,[51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100]),(:NonNeg,[101])]

      I = [1,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,154,2,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,155,3,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,156,4,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,157,5,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,158,6,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,159,7,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,160,8,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,161,9,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,162,10,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,163,11,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,164,12,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,165,13,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,166,14,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,167,15,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,168,16,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,169,17,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,170,18,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,171,19,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,172,20,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,173,21,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,174,22,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,175,23,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,176,24,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,177,25,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,178,26,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,179,27,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,180,28,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,181,29,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,182,30,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,183,31,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,184,32,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,185,33,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,186,34,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,187,35,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,188,36,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,189,37,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,190,38,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,191,39,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,192,40,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,193,41,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,194,42,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,195,43,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,196,44,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,197,45,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,198,46,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,199,47,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,200,48,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,201,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,202,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,203,52,104,53,105,54,106,55,107,56,108,57,109,58,110,59,111,60,112,61,113,62,114,63,115,64,116,65,117,66,118,67,119,68,120,69,121,70,122,71,123,72,124,73,125,74,126,75,127,76,128,77,129,78,130,79,131,80,132,81,133,82,134,83,135,84,136,85,137,86,138,87,139,88,140,89,141,90,142,91,143,92,144,93,145,94,146,95,147,96,148,97,149,98,150,99,151,100,152,101,153,102,103]
      J = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,58,58,59,59,60,60,61,61,62,62,63,63,64,64,65,65,66,66,67,67,68,68,69,69,70,70,71,71,72,72,73,73,74,74,75,75,76,76,77,77,78,78,79,79,80,80,81,81,82,82,83,83,84,84,85,85,86,86,87,87,88,88,89,89,90,90,91,91,92,92,93,93,94,94,95,95,96,96,97,97,98,98,99,99,100,100,101,101]
      V = [-1.0,-1.0,-0.176276264983,-0.0138849730268,-0.00531124721617,-0.0201972970213,-0.0119309190953,-0.0137690312363,-0.0194344068952,-0.0192657979762,-0.00433010335426,-0.00846511582112,-0.0208689550412,-0.0215395496075,-0.0154581637913,-0.00336467657234,-0.0275220519804,-0.0112254742763,-0.0252917056569,-0.0207857012691,-0.0102550236678,-0.0141739387776,-0.0187924476679,-0.00156412146077,-0.00773549388233,-0.0221588147334,-0.0174500212889,-0.0314530175368,-0.0219124025333,-0.0252107162499,-0.00815575826962,-0.0206375633876,-0.0503616242717,-0.00530697002228,-0.0161386437699,-0.0177300941622,-0.0153266629534,-0.0118703716686,-0.014777261147,-0.0486467146949,-0.023319606459,-0.0198203560753,-0.00969523964637,-0.0381323944112,-0.0071755123837,-0.0123444694169,-0.0560925102682,-0.0148907709696,-0.0147556479519,-0.0235485072032,-0.00871014041386,-0.0338561625396,-1.0,-1.0,-1.0,-0.0138849730268,-1.44834388403,0.0175899481305,-0.012226399869,-0.0175151921299,0.00347430258247,-0.00775504374824,-0.0281019387339,-0.0196550516844,-0.0059596969487,-0.0163004195701,-0.0156328832337,0.00106679033851,-0.00977239682147,-0.0100974196538,-0.0104590739636,-0.0134043548594,-0.0204838491647,-0.0134444926938,-0.0188415123406,-0.0176743327728,0.00129673089179,-0.0131105599588,0.00208846141682,-0.00443274646168,-0.0120326739191,-0.0158761255075,-0.0167447989419,-0.0275574917069,-0.0148734415544,-0.0170834835261,-0.014797222957,-0.00746258114129,-0.0162100511455,-0.0198949382031,-0.00205757912605,-0.0228878174374,-0.0189036490509,-0.0266653702203,0.00648116259839,-0.0170660687965,-0.142722508183,-0.0120761386154,-0.0224569723018,-0.0615070447553,-0.020455603511,0.00116678732226,-0.00587541311671,0.00248404691137,-0.00912642496827,-1.0,-1.0,-1.0,-0.00531124721617,0.0175899481305,-0.924505332184,-0.0554464480684,0.00571918375553,-0.00915361382897,-0.000708050551043,-0.00179149825188,-0.020567539369,-0.00841589354507,-0.000660909450149,-0.0102727923031,-0.00742829042029,-0.020173263959,0.00284176358043,-0.0224180076406,-0.00993724051137,-0.024708367837,-0.017296845448,-0.0100044745506,-0.00577064422581,0.00166479328535,-0.0334842405907,-0.0167213826213,0.00743250137536,-0.00698952497999,0.00552996168346,-5.52530765138e-5,-0.0355853851797,0.0042695792533,0.00538494725052,-0.0152552484232,-0.00146687915498,-0.0219489194443,-0.0196259604035,0.00728251018169,-0.0206778402172,-0.00556459590804,-0.0293873865732,0.00397829653739,-0.00540324977192,0.00421975310119,0.00134721931675,-0.00981508403479,0.0162513579114,-0.00282223869298,-0.00563835228677,-0.0101805175643,-0.00450591072119,-0.00829686613033,-1.0,-1.0,-1.0,-0.0201972970213,-0.012226399869,-0.0554464480684,-0.526081188789,-0.0158711364882,-0.0246213233116,-0.0188248076308,-0.0203883178735,-0.0222290705417,-0.0282132726894,-0.0125063303892,-0.0388161148256,0.00480119207456,0.00338367673306,-0.00920226970767,-0.0556810214852,-0.0111218678589,-0.051266946162,-0.0276862051527,-0.0152384276964,-0.0352703943287,-0.0252738224279,-0.0875388855501,-0.0997945287349,0.00755384830932,-0.0121332246056,-0.0112363136889,-0.0578101600775,-0.0696972029498,-0.0290418260411,-0.0235304187796,-0.034917990833,-0.0103479425027,-0.0299847141127,-0.0315636590306,-0.0136753707203,-0.0238403793863,-0.0212393492166,-0.0359964632523,-0.008725028548,-0.0194986501556,-0.0407858504093,-0.0282762889112,-0.075076329301,-0.0350962805811,-0.0290509861698,-0.00899797915294,0.00227654977541,-0.0112682535672,-0.011054001056,-1.0,-1.0,-1.0,-0.0119309190953,-0.0175151921299,0.00571918375553,-0.0158711364882,-0.534922648326,-0.00660297574842,0.00179561488316,-0.0102011883399,-0.00687211639621,0.00124096962972,0.00530028633406,-0.00714991680424,-0.0132426564309,0.0123891851622,-0.0130403769788,-0.0253126113503,-0.0104642879566,-0.0102207510036,-0.00919513242862,-0.022382363676,-0.00971949849013,0.0044268933001,-0.0217866229677,0.000123953814047,-0.00340350146705,-0.00415024169187,-0.00813753134422,0.00548660350058,-0.0114612569007,-0.01194223456,0.00598943575678,0.00506030111197,-0.00255276048106,-0.00392514303142,-0.0100282328533,-0.0151829827845,-0.000479819723859,-1.98089473012e-5,0.0118999811226,0.00167839625614,0.000108606117681,-0.0152172149902,-0.0125242209105,-0.00514622438315,-0.0077731613235,-0.00419824374612,-0.0021896898376,-0.0108553807954,-0.00111858560379,-0.022389338119,-1.0,-1.0,-1.0,-0.0137690312363,0.00347430258247,-0.00915361382897,-0.0246213233116,-0.00660297574842,-0.58993577862,-0.010782371516,0.00511261541137,-0.00670232471874,-0.0117299505646,0.0154161605166,0.00206658983822,-0.0119677189647,-0.000819323383234,-0.00435718049298,-0.0103867044428,-0.0199792208421,-0.0165202761448,-0.00838907955483,-0.0185815984123,-0.0179865575751,-0.0105063673245,-0.0209104900209,-0.00975671867203,-0.00801532559797,-0.00838753086529,-0.0151037905514,-0.0178381534385,-0.0054279096197,-0.00567519539491,-0.0022285182201,-0.0139348489241,-0.0243839471423,-0.0292173492959,0.008496204543,-0.00913778990436,-0.0102002902363,-0.0181718002053,-0.0207150829709,0.00785630790083,-0.0202911044777,-0.0263990474062,-0.0093120144671,-0.011681978892,0.00386327535356,-0.010070367317,-0.00338647572473,-0.000428559406477,-0.0129425276362,-0.0177399628997,-1.0,-1.0,-1.0,-0.0194344068952,-0.00775504374824,-0.000708050551043,-0.0188248076308,0.00179561488316,-0.010782371516,-0.243206914198,-0.0297935408982,0.0155849428714,-0.0134090830882,-0.0176998291755,-0.0238921713149,-0.0049231982514,-0.00214021291771,-0.0152022037379,-0.0142786845196,-0.00944408728934,-0.0152792064807,-0.0039441701572,-0.00249368497472,-0.0211440793601,-0.0253522684937,0.00563781376932,-0.00650763188811,-0.00502875605893,-0.0114134561795,-0.0184977100331,-0.0145762683161,-0.0216785338167,-0.00464125603727,-0.0164893777652,-0.010912840137,-0.0134386712031,-0.0147148265249,-0.0162209296986,-0.0156493657678,-0.018921384538,-0.0207200980029,-0.0245041783108,0.00239971739462,0.000694735903348,-0.0154782510724,-0.0278253987375,-0.00666663709721,-0.0301230853303,-0.0049905314819,-0.00285196891765,-0.00621822590685,-0.00424903305861,-0.0193196561146,-1.0,-1.0,-1.0,-0.0192657979762,-0.0281019387339,-0.00179149825188,-0.0203883178735,-0.0102011883399,0.00511261541137,-0.0297935408982,-0.268868191377,-0.0823544680211,-0.0225364308899,-0.0244543231426,-0.0320298989797,-0.0135034436263,-0.0174566978419,-0.021906381884,-0.0258515557099,-0.00325616254668,-0.0193909167054,-0.00252229355607,-0.0111307360472,-0.0399967008926,-0.0314474899608,-0.0174140654187,-0.00825252966872,-0.0147499401867,-0.0182947245408,-0.0179524438151,-0.0251673908086,-0.00642645650225,-0.0322652722268,-0.00341183504862,-0.0194302610066,-0.0155976568157,-0.0125388722691,-0.015490765783,-0.0183775258509,-0.0237294787336,-0.0279132022145,-0.0608088495172,-0.00746355407881,-0.00924602753375,-0.0135742005687,-0.0342102638032,-0.00798475124308,-0.032448925081,-0.0432450721363,-0.0138761920785,-0.0117759079792,-0.0058470528425,-0.030382505925,-1.0,-1.0,-1.0,-0.00433010335426,-0.0196550516844,-0.020567539369,-0.0222290705417,-0.00687211639621,-0.00670232471874,0.0155849428714,-0.0823544680211,-0.900834268273,0.0111863815127,-0.017005511034,-0.008695773698,-0.00710817615147,-0.0384264659714,-0.00402959560771,-0.00416599644708,-0.0063941075373,0.0116502783771,-0.00919775045536,-0.00496829690406,-0.00188473524148,-0.023291783854,-0.0164671148082,-0.0123282189857,-0.00874428726784,-0.0264379221563,-0.0185509494741,-0.0106736309861,0.00540688427046,-0.00973036611501,0.00805122721147,-0.0810534551105,-0.00429620085548,0.00221871106065,0.00705615091665,0.00275962551573,-0.019407376125,-0.0274038060192,-0.0322185541322,-0.00983616117534,-0.0409761574347,-0.00985157283227,-0.00127695204914,-0.0296235583578,0.0107439507409,-0.0183927751871,0.0160082815864,-0.0174786589075,0.00347398921266,-0.0131357107919,-1.0,-1.0,-1.0,-0.00846511582112,-0.0059596969487,-0.00841589354507,-0.0282132726894,0.00124096962972,-0.0117299505646,-0.0134090830882,-0.0225364308899,0.0111863815127,-0.219504805824,-0.0198729306249,-0.00841265492525,-0.00426236419791,-0.00704574299196,-0.0344848239545,-0.0246457539635,-0.0249245451769,-0.00875453554748,-0.0126087000392,-0.00379925139624,-0.0219154114763,-0.000624455931018,-0.0117263826662,-0.0131495004139,-0.00303572500965,-0.0152014718354,-0.0170553769146,-0.0303321966957,-0.0158911538723,-0.0131390465202,-0.00585796045586,-0.0514656818624,-0.0104037206889,-0.0216469339575,-0.0197137627651,-0.010925489047,-0.00755286733996,-0.0140033749813,-0.013751314832,-0.00407138430334,-0.00828849121711,-0.0110863314649,-0.0146260995565,-0.0151978474634,-0.0239411252456,-0.0130991744599,-0.023305343387,-0.0131550916416,-0.00885509135418,-0.00619666178707,-1.0,-1.0,-1.0,-0.0208689550412,-0.0163004195701,-0.000660909450149,-0.0125063303892,0.00530028633406,0.0154161605166,-0.0176998291755,-0.0244543231426,-0.017005511034,-0.0198729306249,-0.307390718043,-0.0181367673554,-0.00530725060342,-0.00118103409162,-0.00256143237658,-0.0204299814197,-0.014388924451,-0.0268945564058,-0.016389975441,-0.0131354554084,-0.00708466757058,-0.0138611310166,-0.011780361327,-0.031385960591,-0.0230334531381,0.00152193375856,-0.00636925858977,-0.0323345007183,-0.0176096079326,-0.00934916111268,-0.0885726065945,-0.0290998195645,0.00551618086838,-0.00927886159986,-0.0364102365483,-0.0320418612268,-0.00767868854868,-0.0118969347015,-0.0448197504322,-0.0378436527571,-0.0118051358221,-0.0638791132825,-0.0255735361589,-0.0204247414154,-0.0392315528555,-0.0229213955738,-0.00837061384417,-0.0164127076056,-0.00990905472169,-0.0190575888426,-1.0,-1.0,-1.0,-0.0215395496075,-0.0156328832337,-0.0102727923031,-0.0388161148256,-0.00714991680424,0.00206658983822,-0.0238921713149,-0.0320298989797,-0.008695773698,-0.00841265492525,-0.0181367673554,-0.235906366364,-0.0128281749208,-0.0103290323206,-0.0204301201576,-0.018439132335,-0.0177872213132,-0.0127843268333,-0.0234309407225,-0.0224306480401,-0.0233381740724,-0.0182295095599,-0.0418699588344,-0.0271756426187,-0.0068341844535,-0.0152452439132,-0.0143889834552,-0.0197289994533,-0.0281697098041,-0.0280851668827,-0.0326993913228,-0.0338538196448,-0.0190757073401,-0.0130922931397,-0.00869574042813,-0.0177569067601,-0.0273652922184,-0.0252234192729,-0.054909670372,-0.0203616704979,-0.0228816678369,-0.0199093768718,-0.0356070267825,-0.0347872849712,-0.0240982250111,-0.0420998460874,-0.0129589806386,-0.0128316746444,-0.0111991363733,-0.0227309716074,-1.0,-1.0,-1.0,-0.0154581637913,0.00106679033851,-0.00742829042029,0.00480119207456,-0.0132426564309,-0.0119677189647,-0.0049231982514,-0.0135034436263,-0.00710817615147,-0.00426236419791,-0.00530725060342,-0.0128281749208,-0.352365417277,0.00600797174384,-0.00874447221975,0.00178033458302,-0.00684331659752,-0.00694788327686,-0.00891389919261,-0.00820296089119,-0.00563037062807,0.0022655085991,-0.00369760181589,0.00978998225739,-0.0022132567062,-0.0125578488517,-0.00984887991456,0.0201223866034,-0.00650553386298,0.000630835593764,0.00183297002819,-0.015872254948,-0.0140143087467,-0.00512162474055,-0.00316834335265,-0.0692794526592,-0.0149498244757,-0.00964112870736,0.00930946893928,-0.00375928689723,-0.0178615153248,-0.0102280477795,-0.00503813734892,-0.0123046856273,-0.00945609442798,-0.0182692756242,-0.0161069205775,0.00216772255442,-0.0139013546928,0.00133109783322,-1.0,-1.0,-1.0,-0.00336467657234,-0.00977239682147,-0.020173263959,0.00338367673306,0.0123891851622,-0.000819323383234,-0.00214021291771,-0.0174566978419,-0.0384264659714,-0.00704574299196,-0.00118103409162,-0.0103290323206,0.00600797174384,-0.3355368974,0.019904030634,-0.000893363568081,-0.0265949674766,-0.016511306579,-0.00489839471029,-0.000555639865878,-0.0087207583278,-0.130267040126,-0.0112493280919,0.0105388878819,-0.00408832484121,0.0036716360473,0.011340564489,0.0132664534559,-0.032132548342,-0.00393768072934,0.00341292811054,-0.0148466343375,-0.0138505944613,-0.00494099279284,0.00129296023785,-0.0129193129297,-0.00674465045418,-0.00420093188877,-0.0910024271166,0.0119097495743,0.000226541495575,0.00638625639194,-0.0310480865066,-0.0185904746674,-0.00357017243185,-0.0185291375463,-0.00763337986384,-0.0698858518256,-0.000849897816695,0.00342469751268,-1.0,-1.0,-1.0,-0.0275220519804,-0.0100974196538,0.00284176358043,-0.00920226970767,-0.0130403769788,-0.00435718049298,-0.0152022037379,-0.021906381884,-0.00402959560771,-0.0344848239545,-0.00256143237658,-0.0204301201576,-0.00874447221975,0.0199040306339,-0.2823919231,-0.00210265854024,-0.0270352334125,-0.0234421826837,-0.00503691107886,0.00650373214942,-0.0279556210192,-0.00554618561469,-0.0161813580918,-0.015622566126,-0.0234910141212,-0.0263679492003,-0.0288296450406,-0.0285209890595,-0.0174171871873,-0.0305208809398,-0.0094883159875,-0.0237708585123,-0.00789569484358,-0.0257146675045,-0.01020437046,-0.0377893736082,-0.0539283679649,-0.0277685194769,0.000533197703128,-0.00760867522056,-0.0114782945985,-0.0403024557171,-0.0295716515542,-0.0136094570739,-0.0361960919013,-0.0114365840013,-0.011241071663,0.00102330745159,-0.00605996555058,-0.0171669122658,-1.0,-1.0,-1.0,-0.0112254742763,-0.0104590739636,-0.0224180076406,-0.0556810214852,-0.0253126113503,-0.0103867044428,-0.0142786845196,-0.0258515557099,-0.00416599644708,-0.0246457539635,-0.0204299814197,-0.018439132335,0.00178033458302,-0.000893363568081,-0.00210265854024,-0.638220780353,-0.0275716333812,-0.0476966415473,-0.0190567912733,-0.00553739544227,-0.025919887156,-0.018198719736,-0.0521269520668,-0.0609326355201,-0.0122766264431,-0.00389923182331,-0.012463123845,-0.033324019728,-0.0304794891577,-0.00908809285139,-0.0123995244588,-0.0532400870199,-0.0259549141327,-0.0169707491803,-0.0280384291995,-0.031978709136,-0.035835303945,0.00127729980735,-0.0304594149269,-0.024722767289,-0.027461799688,-0.0285844217008,-0.00834552794329,-0.0381884507413,-0.00121374823093,-0.030055908474,-0.0062225809853,-0.00959641458715,-0.0213720073458,-0.0220448818277,-1.0,-1.0,-1.0,-0.0252917056568,-0.0134043548594,-0.00993724051137,-0.0111218678589,-0.0104642879566,-0.0199792208421,-0.00944408728934,-0.00325616254668,-0.0063941075373,-0.0249245451769,-0.014388924451,-0.0177872213132,-0.00684331659752,-0.0265949674766,-0.0270352334125,-0.0275716333812,-0.325224239428,-0.00655801096737,-0.00180868782767,-0.0146932302576,-0.00535543451521,-0.0329086848251,0.00709555827526,-0.0204776240629,-0.014289405125,-0.0140251259726,-0.00909855292593,-0.0110627025941,0.00819074262314,-0.0189570345884,-0.0125855374779,0.000920181770439,-0.0284616341977,-0.0188874138229,-0.00792965923311,-0.0249263837221,-0.000446655423987,-0.0189345773266,-0.0312523590277,-0.0180074603235,-0.0146500327708,0.00100485948301,-0.0114547843551,-0.0145244981805,-0.0178740825425,-0.00219126680473,-0.0052187783459,-0.0484161129069,-0.0248627561308,-0.00799464885636,-1.0,-1.0,-1.0,-0.0207857012691,-0.0204838491647,-0.024708367837,-0.051266946162,-0.0102207510036,-0.0165202761448,-0.0152792064807,-0.0193909167054,0.0116502783771,-0.00875453554748,-0.0268945564058,-0.0127843268333,-0.00694788327686,-0.016511306579,-0.0234421826837,-0.0476966415473,-0.00655801096737,-0.271963518244,-0.0229627729702,-0.0146127806711,-0.0187020138218,-0.0160646021023,-0.0104852365745,-0.032811811635,-0.0134729265317,-0.0148130208985,-0.0182895417995,-0.00710903616815,-0.0116573319747,-0.0129292850858,-0.0101008255373,-0.0528602808806,-0.00317238755077,-0.00510858627591,-0.0340467431312,-0.0179705655374,-0.0159845411405,-0.0183576613699,-0.0437831285442,-0.012680517417,-0.00995054269714,-0.0340298277943,-0.00403817299031,-0.0293902551676,-0.0306955958866,-0.0240218978004,0.0020852239499,-0.0098605925123,-0.0224574153319,-0.0164333354198,-1.0,-1.0,-1.0,-0.0102550236678,-0.0134444926938,-0.017296845448,-0.0276862051527,-0.00919513242862,-0.00838907955483,-0.0039441701572,-0.00252229355607,-0.00919775045536,-0.0126087000392,-0.016389975441,-0.0234309407225,-0.00891389919261,-0.00489839471029,-0.00503691107886,-0.0190567912733,-0.00180868782767,-0.0229627729702,-0.159668683302,-0.0137987020745,-0.0242963888775,0.00141183794286,-0.021163384885,0.00298818142077,-0.0034847792671,-0.0197441505326,-0.0168546883993,-0.0256789526722,-0.00990181861466,0.000818379974313,0.00833024559811,-0.0295174918811,0.00236126246533,-0.008664815852,-0.00865444783589,-0.00887835671545,-0.00619312998609,-0.00419453202781,-0.0236136696409,-0.00952607337409,-0.00849010835837,-0.0177857530013,-0.0104956975753,-0.0218071344073,-0.0163256315826,-0.00090001301588,-0.0128212357623,-0.00558117600892,-0.000755558051844,-0.0188259063067,-1.0,-1.0,-1.0,-0.0141739387776,-0.0188415123406,-0.0100044745506,-0.0152384276964,-0.022382363676,-0.0185815984123,-0.00249368497472,-0.0111307360472,-0.00496829690406,-0.00379925139624,-0.0131354554084,-0.0224306480401,-0.00820296089119,-0.000555639865878,0.00650373214942,-0.00553739544227,-0.0146932302576,-0.0146127806711,-0.0137987020745,-0.460417761233,-0.0400346026146,-0.00698669472284,-0.0292628776631,-0.0360048705959,-0.0194851682934,-0.000289051457323,-0.0140073142911,-0.0179049817478,-0.0201296232382,-0.0122368044894,-0.00555785996326,-0.0188403191035,-0.00618052807916,-0.00403813964283,0.000937456470792,-0.0127217228647,-0.0095747037808,-0.0201032739164,-0.0135892947002,-0.00807475874887,0.000169043739628,-0.0225542052722,-0.00612842712143,-0.0280683735999,-0.0225011975563,-0.0155539656512,-0.00967082670538,-0.0069395277739,0.00831079999547,-0.0193903852969,-1.0,-1.0,-1.0,-0.0187924476679,-0.0176743327728,-0.00577064422581,-0.0352703943287,-0.00971949849013,-0.0179865575751,-0.0211440793601,-0.0399967008926,-0.00188473524148,-0.0219154114763,-0.00708466757058,-0.0233381740724,-0.00563037062807,-0.0087207583278,-0.0279556210192,-0.025919887156,-0.00535543451521,-0.0187020138218,-0.0242963888775,-0.0400346026146,-0.386641902666,-0.038402690552,-0.0562651251575,-0.0243984026995,-0.00667970456109,-0.0173516388304,-0.0119558546318,-0.0229324838706,-0.035102513579,-0.0201791132503,0.000259942656904,-0.0482822049008,-0.00429268470844,-0.0152961560973,-0.0142287809651,-0.0219081087901,-0.0424808493729,-0.0133035043121,-0.0255673652068,-0.0243184616091,0.000645094639686,-0.0366125266172,0.00302831434799,-0.0398765609462,-0.0422212426206,-0.0149913197927,-0.00514110008692,-0.00985228686126,-0.00841851624551,-0.0212168249004,-1.0,-1.0,-1.0,-0.00156412146077,0.00129673089179,0.00166479328535,-0.0252738224279,0.0044268933001,-0.0105063673245,-0.0253522684937,-0.0314474899608,-0.023291783854,-0.000624455931018,-0.0138611310166,-0.0182295095599,0.0022655085991,-0.130267040126,-0.00554618561469,-0.018198719736,-0.0329086848251,-0.0160646021023,0.00141183794286,-0.00698669472284,-0.038402690552,-0.449084077605,-0.0350041663848,-0.0192324823668,0.00148597627751,-0.0122827446055,-0.0151655222072,-0.0025987527906,-0.0199096934385,-0.013910611527,-0.0322786460663,0.000483815429105,-0.014540918713,-0.00664280301519,-0.0066211344035,-0.0326040647463,-0.0346518018613,-0.0180720642163,-0.127572922424,-0.00668046019263,-0.00910268386039,-0.0173626624803,-0.0468856164555,-0.0159033117225,-0.0130067877455,-0.00440770313256,-0.00689850505855,-0.103643975357,0.00175123689609,0.00463386798674,-1.0,-1.0,-1.0,-0.00773549388233,-0.0131105599588,-0.0334842405907,-0.0875388855501,-0.0217866229677,-0.0209104900209,0.00563781376932,-0.0174140654187,-0.0164671148082,-0.0117263826662,-0.011780361327,-0.0418699588344,-0.00369760181589,-0.0112493280919,-0.0161813580918,-0.0521269520668,0.00709555827526,-0.0104852365745,-0.021163384885,-0.0292628776631,-0.0562651251575,-0.0350041663848,-0.450322056932,-0.0216532042999,-0.0225051851334,-0.0192440944752,-0.020149809434,-0.0144151845192,-0.0638621544945,-0.0122857008907,-0.00389534665148,-0.051899859943,0.00454638973157,-0.0254935008988,-0.0129288055702,-0.0325818660011,-0.0416129780782,-0.00916986320189,-0.0391259846632,-0.0183411488342,-0.0318270895653,-0.0452976503414,0.00262264516719,-0.0219613836492,-0.0144735314375,-0.0236499563261,-0.0124617679069,-0.00401657619434,-0.000434723309408,-0.0160879436496,-1.0,-1.0,-1.0,-0.0221588147334,0.00208846141682,-0.0167213826213,-0.0997945287349,0.000123953814047,-0.00975671867203,-0.00650763188811,-0.00825252966872,-0.0123282189857,-0.0131495004139,-0.031385960591,-0.0271756426187,0.00978998225739,0.0105388878819,-0.015622566126,-0.0609326355201,-0.0204776240629,-0.032811811635,0.00298818142077,-0.0360048705959,-0.0243984026995,-0.0192324823668,-0.0216532042999,-0.467743054787,-0.00633666567367,-0.00115188531097,-0.0102410106295,-0.0166255917781,-0.0384636751603,-0.00973657732804,-0.00702127445583,-0.0537529340088,0.00714828428835,-0.0287762954578,-0.00793581737654,-0.0112158020852,-0.0443729360581,-0.0183177416655,-0.0249758308238,-0.00859301936838,-0.0258955344135,-0.0532671088968,-0.00380751175608,-0.026068637623,-0.0140916658901,-0.0262816039707,-0.00408384646345,-0.0131678860729,0.00412365597365,-0.0204193929656,-1.0,-1.0,-1.0,-0.0174500212889,-0.00443274646168,0.00743250137536,0.00755384830932,-0.00340350146705,-0.00801532559797,-0.00502875605893,-0.0147499401867,-0.00874428726784,-0.00303572500965,-0.0230334531381,-0.0068341844535,-0.0022132567062,-0.00408832484121,-0.0234910141212,-0.0122766264431,-0.014289405125,-0.0134729265317,-0.0034847792671,-0.0194851682934,-0.00667970456109,0.00148597627751,-0.0225051851334,-0.00633666567367,-0.244173031968,-0.00463150598235,-0.0221294169085,-0.00573019729556,0.00331529383664,-0.0145320004678,-0.0375959112517,0.00292537487132,-0.0185753038453,-0.00767977429291,-0.0140763573932,-0.0115077081196,-0.00373632616249,-0.0158639505539,-0.0112816444451,-0.00737808601287,-0.00186753580868,0.00245576367286,-0.00629820409716,-0.00492553313689,-0.0288985625948,-0.0149170451825,-0.0152204620793,-0.0123506815625,-0.0214675325564,-0.00697767107595,-1.0,-1.0,-1.0,-0.0314530175368,-0.0120326739191,-0.00698952497999,-0.0121332246056,-0.00415024169187,-0.00838753086529,-0.0114134561795,-0.0182947245408,-0.0264379221563,-0.0152014718354,0.00152193375856,-0.0152452439132,-0.0125578488517,0.0036716360473,-0.0263679492003,-0.00389923182331,-0.0140251259726,-0.0148130208985,-0.0197441505326,-0.000289051457323,-0.0173516388304,-0.0122827446055,-0.0192440944752,-0.00115188531097,-0.00463150598235,-0.177933888466,-0.0204224915676,-0.025629334254,0.00443079559557,-0.0258559164933,0.00254586696792,-0.0218999157475,-0.0128681103033,-0.0189232080745,-0.00571364590798,-0.00636151743663,-0.00936914218855,-0.0335582828704,-0.0170476558622,-0.00313399771762,-0.0201335305478,-0.0283532785422,-0.00603144787502,-0.0195998721048,-0.0283048959702,-0.010088075662,-0.0191097548677,-0.0106406718388,-0.00735775692011,-0.0175802838132,-1.0,-1.0,-1.0,-0.0219124025333,-0.0158761255075,0.00552996168346,-0.0112363136889,-0.00813753134422,-0.0151037905514,-0.0184977100331,-0.0179524438151,-0.0185509494741,-0.0170553769146,-0.00636925858977,-0.0143889834552,-0.00984887991456,0.011340564489,-0.0288296450406,-0.012463123845,-0.00909855292593,-0.0182895417995,-0.0168546883993,-0.0140073142911,-0.0119558546318,-0.0151655222072,-0.020149809434,-0.0102410106295,-0.0221294169085,-0.0204224915676,-0.149533249864,-0.0110514928624,-0.00805153396471,-0.0140203993528,-0.0181714849815,-0.0277219298024,-0.0136393224315,-0.012359962078,-0.00429430136478,-0.0101503630466,-0.00982666285463,-0.0215147969429,-0.017635472619,-0.00475276790687,-0.0117624299414,-0.0322716075772,-0.0121209642527,-0.0183773998972,-0.0274191541407,-0.00402688011049,-0.0107148363972,-0.0146304750493,-0.0129388519054,-0.0251172952609,-1.0,-1.0,-1.0,-0.0252107162499,-0.0167447989419,-5.52530765137e-5,-0.0578101600775,0.00548660350058,-0.0178381534385,-0.0145762683161,-0.0251673908086,-0.0106736309861,-0.0303321966957,-0.0323345007183,-0.0197289994533,0.0201223866034,0.0132664534559,-0.0285209890595,-0.033324019728,-0.0110627025941,-0.00710903616815,-0.0256789526722,-0.0179049817478,-0.0229324838706,-0.0025987527906,-0.0144151845192,-0.0166255917781,-0.00573019729556,-0.025629334254,-0.0110514928624,-0.385605868785,-0.0293754417804,-0.0278053511658,-0.00411206377605,-0.0169016957301,0.00368066834902,-0.0230949108756,-0.0215406009812,-0.0163886836639,-0.0288561156371,-0.0193467433276,-0.0483447324923,-0.0518216580661,-0.0168922247579,-0.0385582617276,-0.0517024583188,-0.0301452450815,-0.0348470181054,0.0104652973817,-0.0252644232984,0.0109686504988,-0.0163061821443,-0.0886817011121,-1.0,-1.0,-1.0,-0.00815575826962,-0.0275574917069,-0.0355853851797,-0.0696972029498,-0.0114612569007,-0.0054279096197,-0.0216785338167,-0.00642645650225,0.00540688427046,-0.0158911538723,-0.0176096079326,-0.0281697098041,-0.00650553386298,-0.032132548342,-0.0174171871873,-0.0304794891577,0.00819074262314,-0.0116573319747,-0.00990181861466,-0.0201296232382,-0.035102513579,-0.0199096934385,-0.0638621544945,-0.0384636751603,0.00331529383664,0.00443079559557,-0.00805153396471,-0.0293754417804,-0.672947534251,-0.0197960960647,-0.0113105496234,-0.0219690507071,-0.00202458462239,-0.0142291832942,-0.0192546847279,-0.0334546169869,-0.0578157486919,-0.0207842809008,-0.0648046720209,-0.0222203735405,-0.0221593761337,-0.033100242667,-0.0211237756594,-0.0215703479992,-0.00988419067634,-0.0408068477217,-0.00471295292581,0.00390482345128,-0.00655731062566,-0.0254254673995,-1.0,-1.0,-1.0,-0.0206375633876,-0.0148734415544,0.0042695792533,-0.0290418260411,-0.01194223456,-0.00567519539491,-0.00464125603727,-0.0322652722268,-0.00973036611501,-0.0131390465202,-0.00934916111268,-0.0280851668827,0.000630835593764,-0.00393768072934,-0.0305208809398,-0.00908809285139,-0.0189570345884,-0.0129292850858,0.000818379974313,-0.0122368044894,-0.0201791132503,-0.013910611527,-0.0122857008907,-0.00973657732804,-0.0145320004678,-0.0258559164933,-0.0140203993528,-0.0278053511658,-0.0197960960647,-0.301129247815,-0.0114758159677,-0.0336267546926,-0.0173195186699,-0.0177198774605,-0.00514407687488,-0.0148163719554,-0.0260290467021,-0.00889009479486,-0.0254097397207,0.000205926946499,-0.00634081024658,-0.0219118102198,-0.0177795204822,-0.0431168773874,-0.0313047104541,-0.0563308767331,-0.0098291421309,-0.00530721738242,0.00639996354154,-0.0131311341263,-1.0,-1.0,-1.0,-0.0503616242717,-0.0170834835261,0.00538494725052,-0.0235304187796,0.00598943575678,-0.0022285182201,-0.0164893777652,-0.00341183504862,0.00805122721147,-0.00585796045586,-0.0885726065945,-0.0326993913228,0.00183297002819,0.00341292811054,-0.0094883159875,-0.0123995244588,-0.0125855374779,-0.0101008255373,0.0083302455981,-0.00555785996326,0.000259942656904,-0.0322786460663,-0.00389534665148,-0.00702127445583,-0.0375959112517,0.00254586696792,-0.0181714849815,-0.00411206377605,-0.0113105496234,-0.0114758159677,-0.503694337332,0.00394789619211,-0.00270416198864,0.018798952756,-0.00207496951465,-0.0140683262168,-0.00711951723482,-0.0237743535357,-0.0342411761055,-0.00796322146091,0.000472452813261,-0.00608249649434,-0.0685769208904,0.00742713287636,-0.0356195091859,-0.00385490210743,-0.0199886156631,-0.0225678263436,0.00867434205653,-0.0110904157528,-1.0,-1.0,-1.0,-0.00530697002228,-0.014797222957,-0.0152552484232,-0.034917990833,0.00506030111197,-0.0139348489241,-0.010912840137,-0.0194302610066,-0.0810534551105,-0.0514656818624,-0.0290998195645,-0.0338538196448,-0.015872254948,-0.0148466343375,-0.0237708585123,-0.0532400870199,0.000920181770439,-0.0528602808806,-0.0295174918811,-0.0188403191035,-0.0482822049008,0.000483815429106,-0.051899859943,-0.0537529340088,0.00292537487132,-0.0218999157475,-0.0277219298024,-0.0169016957301,-0.0219690507071,-0.0336267546926,0.00394789619211,-1.00288605304,0.0022826592816,-0.0114023023814,-0.00746645935437,-0.0391054466946,-0.027165108174,-0.01010111399,-0.0783689771563,-0.0319545224666,-0.0507288092181,-0.0254664362664,-0.0241130923023,-0.0388572676449,-0.015572242997,-0.0448754036779,-0.00544157247873,-0.00237991345501,-0.00418755638677,-0.0216462448816,-1.0,-1.0,-1.0,-0.0161386437699,-0.00746258114129,-0.00146687915498,-0.0103479425027,-0.00255276048106,-0.0243839471423,-0.0134386712031,-0.0155976568157,-0.00429620085548,-0.0104037206889,0.00551618086838,-0.0190757073401,-0.0140143087467,-0.0138505944613,-0.00789569484358,-0.0259549141327,-0.0284616341977,-0.00317238755077,0.00236126246533,-0.00618052807916,-0.00429268470844,-0.014540918713,0.00454638973157,0.00714828428835,-0.0185753038453,-0.0128681103033,-0.0136393224315,0.00368066834902,-0.00202458462239,-0.0173195186699,-0.00270416198864,0.0022826592816,-0.153013969632,-0.000131462684318,-0.0145589398211,-0.00955842177157,-0.0055057017365,-0.0238471895667,-0.0127188574695,-0.00908032944196,-0.000583306657549,0.00107922278302,-0.00868754807006,-0.0115135522867,-0.0112226777769,-0.00316131847095,-0.0124166086743,-0.0185889877716,-0.0127782060201,-0.00492967378066,-1.0,-1.0,-1.0,-0.0177300941622,-0.0162100511455,-0.0219489194443,-0.0299847141127,-0.00392514303142,-0.0292173492959,-0.0147148265249,-0.0125388722691,0.00221871106065,-0.0216469339575,-0.00927886159986,-0.0130922931397,-0.00512162474055,-0.00494099279284,-0.0257146675045,-0.0169707491803,-0.0188874138229,-0.00510858627591,-0.008664815852,-0.00403813964283,-0.0152961560973,-0.00664280301519,-0.0254935008988,-0.0287762954578,-0.00767977429291,-0.0189232080745,-0.012359962078,-0.0230949108756,-0.0142291832942,-0.0177198774605,0.018798952756,-0.0114023023814,-0.000131462684318,-0.21070028333,-0.00543353136753,-0.00818877502845,-0.0103862696113,-0.0258365086144,-0.0210818787019,-0.00440282234822,-0.00128532428934,-0.037612969957,-0.0185369339273,-0.0220283352142,-0.0246694811846,-0.0154535089136,-0.0134107233908,-0.00310407793519,0.00297070054173,-0.017087536952,-1.0,-1.0,-1.0,-0.0153266629534,-0.0198949382031,-0.0196259604035,-0.0315636590306,-0.0100282328533,0.008496204543,-0.0162209296986,-0.015490765783,0.00705615091665,-0.0197137627651,-0.0364102365483,-0.00869574042813,-0.00316834335265,0.00129296023785,-0.01020437046,-0.0280384291995,-0.00792965923311,-0.0340467431312,-0.00865444783589,0.000937456470791,-0.0142287809651,-0.0066211344035,-0.0129288055702,-0.00793581737654,-0.0140763573932,-0.00571364590798,-0.00429430136478,-0.0215406009812,-0.0192546847279,-0.00514407687488,-0.00207496951465,-0.00746645935437,-0.0145589398211,-0.00543353136753,-0.401132897673,-0.00168265512238,-0.0157277234529,-0.0145755124618,-0.0102215023529,-0.0182969850718,-0.000128092945374,-0.0216577916435,-0.0252297264721,-0.0332255316965,-0.0257885883854,-0.0131630207805,-0.013683006662,0.00318208762558,-0.00335918097034,-0.0189817572424,-1.0,-1.0,-1.0,-0.0118703716686,-0.00205757912605,0.00728251018169,-0.0136753707203,-0.0151829827845,-0.00913778990436,-0.0156493657678,-0.0183775258509,0.00275962551573,-0.010925489047,-0.0320418612268,-0.0177569067601,-0.0692794526592,-0.0129193129297,-0.0377893736082,-0.031978709136,-0.0249263837221,-0.0179705655374,-0.00887835671545,-0.0127217228647,-0.0219081087901,-0.0326040647463,-0.0325818660011,-0.0112158020852,-0.0115077081196,-0.00636151743663,-0.0101503630466,-0.0163886836639,-0.0334546169869,-0.0148163719554,-0.0140683262168,-0.0391054466946,-0.00955842177157,-0.00818877502845,-0.00168265512238,-0.241470185701,-0.00141053494576,-0.0181821876651,-0.0558997880962,-0.0372693907975,-0.0133479580164,-0.0359562636062,-0.028909544748,-0.0307126291676,-0.0169843493206,-0.0233439587086,-0.00404385564681,-0.0184199314749,-0.010342807942,-0.00460614451823,-1.0,-1.0,-1.0,-0.014777261147,-0.0228878174374,-0.0206778402172,-0.0238403793863,-0.000479819723859,-0.0102002902363,-0.018921384538,-0.0237294787336,-0.019407376125,-0.00755286733996,-0.00767868854868,-0.0273652922184,-0.0149498244757,-0.00674465045417,-0.0539283679649,-0.035835303945,-0.000446655423987,-0.0159845411405,-0.00619312998609,-0.0095747037808,-0.0424808493729,-0.0346518018613,-0.0416129780782,-0.0443729360581,-0.00373632616249,-0.00936914218855,-0.00982666285463,-0.0288561156371,-0.0578157486919,-0.0260290467021,-0.00711951723482,-0.027165108174,-0.0055057017365,-0.0103862696113,-0.0157277234529,-0.00141053494576,-0.312677600125,-0.022683316723,-0.0377733132486,0.00200395153551,-0.0134752477138,-0.0360407976364,-0.0250161123107,-0.0278515945324,-0.00644033854451,-0.0108208025543,-0.0108894253897,-0.00309055625366,0.00556083604702,-0.027003743932,-1.0,-1.0,-1.0,-0.0486467146949,-0.0189036490509,-0.00556459590804,-0.0212393492166,-1.98089473011e-5,-0.0181718002053,-0.0207200980029,-0.0279132022145,-0.0274038060192,-0.0140033749813,-0.0118969347015,-0.0252234192729,-0.00964112870736,-0.00420093188877,-0.0277685194769,0.00127729980735,-0.0189345773266,-0.0183576613699,-0.00419453202781,-0.0201032739164,-0.0133035043121,-0.0180720642163,-0.00916986320189,-0.0183177416655,-0.0158639505539,-0.0335582828704,-0.0215147969429,-0.0193467433276,-0.0207842809008,-0.00889009479486,-0.0237743535357,-0.01010111399,-0.0238471895667,-0.0258365086144,-0.0145755124618,-0.0181821876651,-0.022683316723,-0.158166291203,-0.0352181980244,-0.0290488685618,-0.00642695736684,-0.0189644109291,-0.0255566636294,-0.0197097105845,-0.0422361319825,-0.0134305645833,-0.0106743033546,-0.0157603059125,-0.0116523943074,-0.0343277967163,-1.0,-1.0,-1.0,-0.023319606459,-0.0266653702203,-0.0293873865732,-0.0359964632523,0.0118999811226,-0.0207150829709,-0.0245041783108,-0.0608088495172,-0.0322185541322,-0.013751314832,-0.0448197504322,-0.054909670372,0.00930946893928,-0.0910024271166,0.000533197703128,-0.0304594149269,-0.0312523590277,-0.0437831285442,-0.0236136696409,-0.0135892947002,-0.0255673652068,-0.127572922424,-0.0391259846632,-0.0249758308238,-0.0112816444451,-0.0170476558622,-0.017635472619,-0.0483447324923,-0.0648046720209,-0.0254097397207,-0.0342411761055,-0.0783689771564,-0.0127188574695,-0.0210818787019,-0.0102215023529,-0.0558997880962,-0.0377733132486,-0.0352181980244,-0.649996008788,-0.0326402526874,-0.0386538675401,-0.054599649478,-0.0323443203417,-0.0656012214219,-0.0336791888961,-0.0695424781986,-0.000401058378579,-0.0768362282024,-0.00940128398703,-0.0522910202476,-1.0,-1.0,-1.0,-0.0198203560753,0.00648116259839,0.00397829653739,-0.008725028548,0.00167839625614,0.00785630790083,0.00239971739462,-0.00746355407881,-0.00983616117534,-0.00407138430334,-0.0378436527571,-0.0203616704979,-0.00375928689723,0.0119097495743,-0.00760867522056,-0.024722767289,-0.0180074603235,-0.012680517417,-0.00952607337409,-0.00807475874887,-0.0243184616091,-0.00668046019263,-0.0183411488342,-0.00859301936838,-0.00737808601287,-0.00313399771762,-0.00475276790687,-0.0518216580661,-0.0222203735405,0.000205926946499,-0.00796322146091,-0.0319545224666,-0.00908032944196,-0.00440282234822,-0.0182969850718,-0.0372693907975,0.00200395153551,-0.0290488685618,-0.0326402526874,-1.03236064576,-0.0196593706819,-0.00993868684761,-0.0428160192583,-0.0276260593253,-0.0245848773935,-0.0021675085565,-0.0231708818695,-0.00669614529526,0.00133126594067,-0.0184799066891,-1.0,-1.0,-1.0,-0.00969523964637,-0.0170660687965,-0.00540324977192,-0.0194986501556,0.000108606117681,-0.0202911044777,0.000694735903348,-0.00924602753375,-0.0409761574347,-0.00828849121711,-0.0118051358221,-0.0228816678369,-0.0178615153248,0.000226541495575,-0.0114782945985,-0.027461799688,-0.0146500327708,-0.00995054269714,-0.00849010835837,0.000169043739628,0.000645094639687,-0.00910268386039,-0.0318270895653,-0.0258955344135,-0.00186753580868,-0.0201335305478,-0.0117624299414,-0.0168922247579,-0.0221593761337,-0.00634081024658,0.000472452813261,-0.0507288092181,-0.000583306657549,-0.00128532428934,-0.000128092945374,-0.0133479580164,-0.0134752477138,-0.00642695736684,-0.0386538675401,-0.0196593706819,-0.243140730541,-0.0279871075722,0.00624758833799,-0.00977596586147,-0.0202600902569,-0.0215358284246,-0.0198393739658,-0.00776630317165,-0.0185423267888,-0.00528838301221,-1.0,-1.0,-1.0,-0.0381323944112,-0.142722508183,0.00421975310119,-0.0407858504093,-0.0152172149902,-0.0263990474062,-0.0154782510724,-0.0135742005687,-0.00985157283227,-0.0110863314649,-0.0638791132825,-0.0199093768718,-0.0102280477795,0.00638625639194,-0.0403024557171,-0.0285844217008,0.00100485948301,-0.0340298277943,-0.0177857530013,-0.0225542052722,-0.0366125266172,-0.0173626624803,-0.0452976503414,-0.0532671088968,0.00245576367286,-0.0283532785422,-0.0322716075772,-0.0385582617276,-0.033100242667,-0.0219118102198,-0.00608249649434,-0.0254664362664,0.00107922278302,-0.037612969957,-0.0216577916435,-0.0359562636062,-0.0360407976364,-0.0189644109291,-0.054599649478,-0.00993868684761,-0.0279871075722,-0.598738595878,-0.0290911265711,-0.0204247043641,-0.0855095427951,-0.0484278514535,-0.0209572402262,-0.00325462982288,-0.00909640019983,-0.0258372122628,-1.0,-1.0,-1.0,-0.0071755123837,-0.0120761386154,0.00134721931675,-0.0282762889112,-0.0125242209105,-0.0093120144671,-0.0278253987375,-0.0342102638032,-0.00127695204914,-0.0146260995565,-0.0255735361589,-0.0356070267825,-0.00503813734892,-0.0310480865066,-0.0295716515542,-0.00834552794329,-0.0114547843551,-0.00403817299031,-0.0104956975753,-0.00612842712143,0.00302831434799,-0.0468856164555,0.00262264516719,-0.00380751175608,-0.00629820409717,-0.00603144787502,-0.0121209642527,-0.0517024583188,-0.0211237756594,-0.0177795204822,-0.0685769208904,-0.0241130923023,-0.00868754807006,-0.0185369339273,-0.0252297264721,-0.028909544748,-0.0250161123107,-0.0255566636294,-0.0323443203417,-0.0428160192583,0.00624758833799,-0.0290911265711,-0.327204598322,-0.021424722038,-0.0195597811852,-0.0155624481472,-0.0120865407104,-0.0174486005627,-0.0151799096916,-0.0207434130004,-1.0,-1.0,-1.0,-0.0123444694169,-0.0224569723018,-0.00981508403479,-0.075076329301,-0.00514622438315,-0.011681978892,-0.00666663709721,-0.00798475124308,-0.0296235583578,-0.0151978474634,-0.0204247414154,-0.0347872849712,-0.0123046856273,-0.0185904746674,-0.0136094570739,-0.0381884507413,-0.0145244981805,-0.0293902551676,-0.0218071344073,-0.0280683735999,-0.0398765609462,-0.0159033117225,-0.0219613836492,-0.026068637623,-0.00492553313689,-0.0195998721048,-0.0183773998972,-0.0301452450815,-0.0215703479992,-0.0431168773874,0.00742713287636,-0.0388572676449,-0.0115135522867,-0.0220283352142,-0.0332255316965,-0.0307126291676,-0.0278515945324,-0.0197097105845,-0.0656012214219,-0.0276260593253,-0.00977596586147,-0.0204247043641,-0.021424722038,-0.260120962521,-0.00804530174284,-0.0148542698475,-0.016240343358,-0.0210849762818,-0.00771201866901,-0.0134433029611,-1.0,-1.0,-1.0,-0.0560925102682,-0.0615070447553,0.0162513579114,-0.0350962805811,-0.0077731613235,0.00386327535356,-0.0301230853303,-0.032448925081,0.0107439507409,-0.0239411252456,-0.0392315528555,-0.0240982250111,-0.00945609442798,-0.00357017243185,-0.0361960919013,-0.00121374823093,-0.0178740825425,-0.0306955958866,-0.0163256315826,-0.0225011975563,-0.0422212426206,-0.0130067877455,-0.0144735314375,-0.0140916658901,-0.0288985625948,-0.0283048959702,-0.0274191541407,-0.0348470181054,-0.00988419067634,-0.0313047104541,-0.0356195091859,-0.015572242997,-0.0112226777769,-0.0246694811846,-0.0257885883854,-0.0169843493206,-0.00644033854451,-0.0422361319825,-0.0336791888961,-0.0245848773935,-0.0202600902569,-0.0855095427951,-0.0195597811852,-0.00804530174284,-0.348865699511,-0.0206369220077,-0.00895858861975,-0.0183072681728,-0.0179885984154,-0.0468123834291,-1.0,-1.0,-1.0,-0.0148907709696,-0.0204556035109,-0.00282223869298,-0.0290509861698,-0.00419824374612,-0.010070367317,-0.0049905314819,-0.0432450721363,-0.0183927751871,-0.0130991744599,-0.0229213955738,-0.0420998460874,-0.0182692756242,-0.0185291375463,-0.0114365840013,-0.030055908474,-0.00219126680473,-0.0240218978004,-0.00090001301588,-0.0155539656512,-0.0149913197927,-0.00440770313256,-0.0236499563261,-0.0262816039707,-0.0149170451825,-0.010088075662,-0.00402688011049,0.0104652973817,-0.0408068477217,-0.0563308767331,-0.00385490210743,-0.0448754036779,-0.00316131847095,-0.0154535089136,-0.0131630207805,-0.0233439587086,-0.0108208025543,-0.0134305645833,-0.0695424781986,-0.0021675085565,-0.0215358284246,-0.0484278514535,-0.0155624481472,-0.0148542698475,-0.0206369220077,-0.312650061339,-0.0124939559633,-0.00838639965161,-0.00746905176174,-0.025689056254,-1.0,-1.0,-1.0,-0.0147556479519,0.00116678732226,-0.00563835228677,-0.00899797915294,-0.0021896898376,-0.00338647572473,-0.00285196891765,-0.0138761920785,0.0160082815864,-0.023305343387,-0.00837061384417,-0.0129589806386,-0.0161069205775,-0.00763337986384,-0.011241071663,-0.0062225809853,-0.0052187783459,0.0020852239499,-0.0128212357623,-0.00967082670538,-0.00514110008692,-0.00689850505855,-0.0124617679069,-0.00408384646345,-0.0152204620793,-0.0191097548677,-0.0107148363972,-0.0252644232984,-0.00471295292581,-0.0098291421309,-0.0199886156631,-0.00544157247873,-0.0124166086743,-0.0134107233908,-0.013683006662,-0.00404385564681,-0.0108894253897,-0.0106743033546,-0.000401058378579,-0.0231708818695,-0.0198393739658,-0.0209572402262,-0.0120865407104,-0.016240343358,-0.00895858861975,-0.0124939559633,-0.326317342473,-0.00720498082808,0.00498481653329,-0.02394396285,-1.0,-1.0,-1.0,-0.0235485072032,-0.00587541311671,-0.0101805175643,0.00227654977541,-0.0108553807954,-0.000428559406477,-0.00621822590685,-0.0117759079792,-0.0174786589075,-0.0131550916416,-0.0164127076056,-0.0128316746444,0.00216772255442,-0.0698858518256,0.00102330745159,-0.00959641458715,-0.0484161129069,-0.0098605925123,-0.00558117600892,-0.0069395277739,-0.00985228686126,-0.103643975357,-0.00401657619434,-0.0131678860729,-0.0123506815625,-0.0106406718388,-0.0146304750493,0.0109686504988,0.00390482345128,-0.00530721738242,-0.0225678263436,-0.00237991345501,-0.0185889877716,-0.00310407793519,0.00318208762558,-0.0184199314749,-0.00309055625366,-0.0157603059125,-0.0768362282024,-0.00669614529526,-0.00776630317165,-0.00325462982288,-0.0174486005627,-0.0210849762818,-0.0183072681728,-0.00838639965161,-0.00720498082808,-0.200642802827,-0.00927780221236,-0.00210890696481,-1.0,-1.0,-1.0,-0.00871014041386,0.00248404691137,-0.00450591072119,-0.0112682535672,-0.00111858560379,-0.0129425276362,-0.00424903305861,-0.0058470528425,0.00347398921266,-0.00885509135418,-0.00990905472169,-0.0111991363733,-0.0139013546928,-0.000849897816695,-0.00605996555058,-0.0213720073458,-0.0248627561308,-0.0224574153319,-0.000755558051844,0.00831079999547,-0.00841851624551,0.00175123689609,-0.000434723309408,0.00412365597365,-0.0214675325564,-0.00735775692011,-0.0129388519054,-0.0163061821443,-0.00655731062566,0.00639996354154,0.00867434205653,-0.00418755638677,-0.0127782060201,0.00297070054173,-0.00335918097034,-0.010342807942,0.00556083604702,-0.0116523943074,-0.00940128398703,0.00133126594067,-0.0185423267888,-0.00909640019983,-0.0151799096916,-0.00771201866901,-0.0179885984154,-0.00746905176174,0.00498481653329,-0.00927780221236,-0.195569964896,0.00179581358004,-1.0,-1.0,-1.0,-0.0338561625396,-0.00912642496827,-0.00829686613033,-0.011054001056,-0.022389338119,-0.0177399628997,-0.0193196561146,-0.030382505925,-0.0131357107919,-0.00619666178707,-0.0190575888426,-0.0227309716074,0.00133109783322,0.00342469751268,-0.0171669122658,-0.0220448818277,-0.00799464885636,-0.0164333354198,-0.0188259063067,-0.0193903852969,-0.0212168249004,0.00463386798674,-0.0160879436496,-0.0204193929656,-0.00697767107595,-0.0175802838132,-0.0251172952609,-0.0886817011121,-0.0254254673995,-0.0131311341263,-0.0110904157528,-0.0216462448816,-0.00492967378066,-0.017087536952,-0.0189817572424,-0.00460614451823,-0.027003743932,-0.0343277967163,-0.0522910202476,-0.0184799066891,-0.00528838301221,-0.0258372122628,-0.0207434130004,-0.0134433029611,-0.0468123834291,-0.025689056254,-0.02394396285,-0.00210890696481,0.00179581358004,-0.233998016311,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0]

      A = sparse(I,J,V,length(b),length(c))

      m = MathProgBase.ConicModel(ConicIPSolver(verbose=true, kktsolver = kktsolver))
      MathProgBase.loadproblem!(m, c, A, b, con_cones, var_cones)
      MathProgBase.optimize!(m)
      @fact MathProgBase.status(m) --> :Infeasible

    end

    c = [0.163973846,0.533179677,1.09407106,0.182902458,0.554139215,0.567489093,0.731063981,0.149004507,1.64458497,0.14275369,8137.86778,2852.37715,7957.49463,11317.1837,22038.7814,9512.84638,32448.222,4601.27644,12316.0304,2771.71585,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]
    b = [-16670.1538,0.0,0.0,1.41421356,0.0,0.0,1.41421356,0.0,0.0,1.41421356,0.0,0.0,1.41421356,0.0,0.0,1.41421356,0.0,0.0,1.41421356,0.0,0.0,1.41421356,0.0,0.0,1.41421356,0.0,0.0,1.41421356,0.0,0.0,1.41421356,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]
    con_cones = [(:NonPos,[1]),(:Zero,[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]),(:SOC,[32,33,34]),(:SOC,[35,36,37]),(:SOC,[38,39,40]),(:SOC,[41,42,43]),(:SOC,[44,45,46]),(:SOC,[47,48,49]),(:SOC,[50,51,52]),(:SOC,[53,54,55]),(:SOC,[56,57,58]),(:SOC,[59,60,61])]
    var_cones = [(:NonNeg,[1,2,3,4,5,6,7,8,9,10]),(:Free,[11,12,13,14,15,16,17,18,19,20]),(:Free,[21,22,23]),(:Free,[24,25,26]),(:Free,[27,28,29]),(:Free,[30,31,32]),(:Free,[33,34,35]),(:Free,[36,37,38]),(:Free,[39,40,41]),(:Free,[42,43,44]),(:Free,[45,46,47]),(:Free,[48,49,50])]
    I = [1,2,1,5,1,8,11,1,14,1,17,1,20,1,23,1,26,1,29,3,6,9,12,15,18,21,24,27,30,2,32,33,3,32,33,4,34,5,35,36,6,35,36,7,37,8,38,39,9,38,39,10,40,11,41,42,12,41,42,13,43,14,44,45,15,44,45,16,46,17,47,48,18,47,48,19,49,20,50,51,21,50,51,22,52,23,53,54,24,53,54,25,55,26,56,57,27,56,57,28,58,29,59,60,30,59,60,31,61]
    J = [1,1,2,2,3,3,4,5,5,6,6,7,7,8,8,9,9,10,10,11,12,13,14,15,16,17,18,19,20,21,21,21,22,22,22,23,23,24,24,24,25,25,25,26,26,27,27,27,28,28,28,29,29,30,30,30,31,31,31,32,32,33,33,33,34,34,34,35,35,36,36,36,37,37,37,38,38,39,39,39,40,40,40,41,41,42,42,42,43,43,43,44,44,45,45,45,46,46,46,47,47,48,48,48,49,49,49,50,50]
    V = [-0.230769231,-1.0,-0.692307692,-1.0,-0.692307692,-1.0,-1.0,-0.384615385,-1.0,-0.230769231,-1.0,-0.846153846,-1.0,-0.0769230769,-1.0,-1.0,-1.0,-0.230769231,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.4142135623730951]
    A = sparse(I,J,V,length(b),length(c))

    for κ = [1e-8, 1e-6, 1e-4, 1, 1e4, 1e6, 1e8]

      m = MathProgBase.ConicModel(ConicIPSolver(verbose=true))
      MathProgBase.loadproblem!(m, κ*c, κ*A, κ*b, con_cones, var_cones)
      MathProgBase.optimize!(m)
      @fact MathProgBase.status(m) --> :Optimal

    end

    for κ = [1e-4, 1, 1e4, 1e6]

      println(κ)
      A = sparse(I,J,V,length(b),length(c))

      m = MathProgBase.ConicModel(ConicIPSolver(verbose=true))
      MathProgBase.loadproblem!(m, c, κ*A, κ*b, con_cones, var_cones)
      MathProgBase.optimize!(m)
      @fact MathProgBase.status(m) --> :Optimal

    end

    for κ = [1e-6, 1e-4, 1, 1e4, 1e6]

      m = MathProgBase.ConicModel(ConicIPSolver(verbose=true))
      MathProgBase.loadproblem!(m, c, A, b, con_cones, var_cones)
      MathProgBase.optimize!(m)
      @fact MathProgBase.status(m) --> :Optimal

    end

  end

end

using MathProgBase

# Run MathProgBase Tests
include(Pkg.dir("MathProgBase")"/test/conicinterface.jl"); 
coniclineartest(ConicIPSolver(verbose = true, optTol = optTol), duals=true)
conicSOCtest(ConicIPSolver(verbose = true, optTol = optTol), duals=true)
conicSDPtest(ConicIPSolver(verbose = true, optTol = optTol))

end # module
